13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 */
24
25 /* pngerror.c - stub functions for i/o and memory allocation
26 *
27 * This file is available under and governed by the GNU General Public
28 * License version 2 only, as published by the Free Software Foundation.
29 * However, the following notice accompanied the original version of this
30 * file and, per its terms, should not be removed:
31 *
32 * Last changed in libpng 1.6.15 [November 20, 2014]
33 * Copyright (c) 1998-2014 Glenn Randers-Pehrson
34 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
35 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
36 *
37 * This code is released under the libpng license.
38 * For conditions of distribution and use, see the disclaimer
39 * and license in png.h
40 *
41 * This file provides a location for all error handling. Users who
42 * need special error handling are expected to write replacement functions
43 * and use png_set_error_fn() to use those functions. See the instructions
44 * at each function.
45 */
46
47 #include "pngpriv.h"
48
49 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
50
51 static PNG_FUNCTION(void, png_default_error,PNGARG((png_const_structrp png_ptr,
52 png_const_charp error_message)),PNG_NORETURN);
53
55 static void /* PRIVATE */
56 png_default_warning PNGARG((png_const_structrp png_ptr,
57 png_const_charp warning_message));
58 #endif /* WARNINGS */
59
60 /* This function is called whenever there is a fatal error. This function
61 * should not be changed. If there is a need to handle errors differently,
62 * you should supply a replacement error function and use png_set_error_fn()
63 * to replace the error function at run-time.
64 */
65 #ifdef PNG_ERROR_TEXT_SUPPORTED
66 PNG_FUNCTION(void,PNGAPI
67 png_error,(png_const_structrp png_ptr, png_const_charp error_message),
68 PNG_NORETURN)
69 {
70 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
71 char msg[16];
72 if (png_ptr != NULL)
73 {
74 if ((png_ptr->flags &
75 (PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT)) != 0
76 {
77 if (*error_message == PNG_LITERAL_SHARP)
78 {
79 /* Strip "#nnnn " from beginning of error message. */
80 int offset;
81 for (offset = 1; offset<15; offset++)
82 if (error_message[offset] == ' ')
83 break;
84
85 if ((png_ptr->flags & PNG_FLAG_STRIP_ERROR_TEXT) != 0)
86 {
87 int i;
88 for (i = 0; i < offset - 1; i++)
89 msg[i] = error_message[i + 1];
90 msg[i - 1] = '\0';
91 error_message = msg;
92 }
93
94 else
95 error_message += offset;
|
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 */
24
25 /* pngerror.c - stub functions for i/o and memory allocation
26 *
27 * This file is available under and governed by the GNU General Public
28 * License version 2 only, as published by the Free Software Foundation.
29 * However, the following notice accompanied the original version of this
30 * file and, per its terms, should not be removed:
31 *
32 * Last changed in libpng 1.6.15 [November 20, 2014]
33 * Copyright (c) 1998-2002,2004,2006-2014 Glenn Randers-Pehrson
34 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
35 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
36 *
37 * This code is released under the libpng license.
38 * For conditions of distribution and use, see the disclaimer
39 * and license in png.h
40 *
41 * This file provides a location for all error handling. Users who
42 * need special error handling are expected to write replacement functions
43 * and use png_set_error_fn() to use those functions. See the instructions
44 * at each function.
45 */
46
47 #include "pngpriv.h"
48
49 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
50
51 static PNG_FUNCTION(void, png_default_error,PNGARG((png_const_structrp png_ptr,
52 png_const_charp error_message)),PNG_NORETURN);
53
55 static void /* PRIVATE */
56 png_default_warning PNGARG((png_const_structrp png_ptr,
57 png_const_charp warning_message));
58 #endif /* WARNINGS */
59
60 /* This function is called whenever there is a fatal error. This function
61 * should not be changed. If there is a need to handle errors differently,
62 * you should supply a replacement error function and use png_set_error_fn()
63 * to replace the error function at run-time.
64 */
65 #ifdef PNG_ERROR_TEXT_SUPPORTED
66 PNG_FUNCTION(void,PNGAPI
67 png_error,(png_const_structrp png_ptr, png_const_charp error_message),
68 PNG_NORETURN)
69 {
70 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
71 char msg[16];
72 if (png_ptr != NULL)
73 {
74 if ((png_ptr->flags &
75 (PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT)) != 0)
76 {
77 if (*error_message == PNG_LITERAL_SHARP)
78 {
79 /* Strip "#nnnn " from beginning of error message. */
80 int offset;
81 for (offset = 1; offset<15; offset++)
82 if (error_message[offset] == ' ')
83 break;
84
85 if ((png_ptr->flags & PNG_FLAG_STRIP_ERROR_TEXT) != 0)
86 {
87 int i;
88 for (i = 0; i < offset - 1; i++)
89 msg[i] = error_message[i + 1];
90 msg[i - 1] = '\0';
91 error_message = msg;
92 }
93
94 else
95 error_message += offset;
|