21 #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
26 #ifdef PNG_WARNINGS_SUPPORTED
37 #ifdef PNG_ERROR_TEXT_SUPPORTED
41 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
52 for (offset = 1; offset<15; offset++)
53 if (error_message[offset] ==
' ')
59 for (i = 0; i < offset - 1; i++)
60 msg[i] = error_message[i + 1];
81 if (png_ptr !=
NULL && png_ptr->error_fn !=
NULL)
82 (*(png_ptr->error_fn))(png_ptr, error_message);
86 png_default_error(png_ptr, error_message);
97 if (png_ptr !=
NULL && png_ptr->error_fn !=
NULL)
98 (*(png_ptr->error_fn))(png_ptr,
"");
102 png_default_error(png_ptr,
"");
113 if (buffer !=
NULL && pos < bufsize)
116 while (*
string !=
'\0' && pos < bufsize-1)
117 buffer[pos++] = *
string++;
125 #if defined(PNG_WARNINGS_SUPPORTED) || defined(PNG_TIME_RFC1123_SUPPORTED)
143 while (end > start && (number != 0 || count < mincount))
146 static const char digits[] =
"0123456789ABCDEF";
153 if (output || number % 10 != 0)
155 *--end = digits[number % 10];
167 *--end = digits[number % 10];
177 *--end = digits[number & 0xf];
198 else if (number == 0)
207 #ifdef PNG_WARNINGS_SUPPORTED
219 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
226 for (offset = 1; offset < 15; offset++)
227 if (warning_message[offset] ==
' ')
232 if (png_ptr !=
NULL && png_ptr->warning_fn !=
NULL)
233 (*(png_ptr->warning_fn))(png_ptr, warning_message +
offset);
298 while (i<(
sizeof msg)-1 && *message !=
'\0')
303 if (p !=
NULL && *message ==
'@' && message[1] !=
'\0')
305 int parameter_char = *++
message;
306 static const char valid_parameters[] =
"123456789";
312 while (valid_parameters[parameter] != parameter_char &&
313 valid_parameters[parameter] !=
'\0')
327 while (i<(
sizeof msg)-1 && *parm !=
'\0' && parm < pend)
343 msg[i++] = *message++;
357 #ifdef PNG_BENIGN_ERRORS_SUPPORTED
374 #define isnonalpha(c) ((c) < 65 || (c) > 122 || ((c) > 90 && (c) < 97))
376 '0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
377 'A',
'B',
'C',
'D',
'E',
'F'
380 #define PNG_MAX_ERROR_TEXT 64
381 #if defined(PNG_WARNINGS_SUPPORTED) || defined(PNG_ERROR_TEXT_SUPPORTED)
387 int iout = 0, ishift = 24;
391 int c = (
int)(chunk_name >> ishift) & 0xff;
397 buffer[iout++] = png_digit[(c & 0xf0) >> 4];
398 buffer[iout++] = png_digit[c & 0x0f];
404 buffer[iout++] = (char)c;
408 if (error_message ==
NULL)
415 buffer[iout++] =
':';
416 buffer[iout++] =
' ';
419 buffer[iout++] = error_message[iin++];
427 #if defined(PNG_READ_SUPPORTED) && defined(PNG_ERROR_TEXT_SUPPORTED)
444 #ifdef PNG_WARNINGS_SUPPORTED
460 #ifdef PNG_READ_SUPPORTED
461 #ifdef PNG_BENIGN_ERRORS_SUPPORTED
469 png_chunk_error(png_ptr, error_message);
474 #ifdef PNG_ERROR_TEXT_SUPPORTED
475 #ifdef PNG_FLOATING_POINT_SUPPORTED
479 # define fixed_message "fixed point overflow in "
480 # define fixed_message_ln ((sizeof fixed_message)-1)
496 #ifdef PNG_SETJMP_SUPPORTED
507 png_ptr->longjmp_fn = longjmp_fn;
508 return &png_ptr->longjmp_buffer;
521 #ifdef PNG_CONSOLE_IO_SUPPORTED
522 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
528 char error_number[16];
529 for (offset = 0; offset<15; offset++)
531 error_number[
offset] = error_message[offset + 1];
532 if (error_message[offset] ==
' ')
536 if ((offset > 1) && (offset < 15))
538 error_number[offset - 1] =
'\0';
539 fprintf(stderr,
"libpng error no. %s: %s",
540 error_number, error_message + offset + 1);
546 fprintf(stderr,
"libpng error: %s, offset=%d",
547 error_message, offset);
554 fprintf(stderr,
"libpng error: %s", error_message ? error_message :
561 png_longjmp(png_ptr, 1);
567 #ifdef PNG_SETJMP_SUPPORTED
568 if (png_ptr && png_ptr->longjmp_fn)
570 # ifdef USE_FAR_KEYWORD
574 png_ptr->longjmp_fn(tmp_jmpbuf, val);
578 png_ptr->longjmp_fn(png_ptr->longjmp_buffer, val);
586 #ifdef PNG_WARNINGS_SUPPORTED
595 #ifdef PNG_CONSOLE_IO_SUPPORTED
596 # ifdef PNG_ERROR_NUMBERS_SUPPORTED
600 char warning_number[16];
601 for (offset = 0; offset < 15; offset++)
603 warning_number[
offset] = warning_message[offset + 1];
604 if (warning_message[offset] ==
' ')
608 if ((offset > 1) && (offset < 15))
610 warning_number[offset + 1] =
'\0';
611 fprintf(stderr,
"libpng warning no. %s: %s",
612 warning_number, warning_message + offset);
618 fprintf(stderr,
"libpng warning: %s",
627 fprintf(stderr,
"libpng warning: %s", warning_message);
644 png_error_ptr
error_fn, png_error_ptr warning_fn)
651 #ifdef PNG_WARNINGS_SUPPORTED
652 png_ptr->warning_fn = warning_fn;
673 #ifdef PNG_ERROR_NUMBERS_SUPPORTED
GLuint const GLfloat * val
static PNG_CONST char png_digit[16]
#define PNG_FLAG_STRIP_ERROR_TEXT
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
#define PNG_FLAG_STRIP_ERROR_NUMBERS
#define PNG_UNUSED(param)
GLsizei GLenum GLuint GLuint GLsizei GLchar * message
void png_warning_parameter(png_warning_parameters p, int number, png_const_charp string)
char png_warning_parameters[PNG_WARNING_PARAMETER_COUNT][PNG_WARNING_PARAMETER_SIZE]
PNG_CONST png_struct FAR * png_const_structp
void PNGAPI png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
#define PNG_FORMAT_NUMBER(buffer, format, number)
static void png_format_buffer(png_structp png_ptr, png_charp buffer, png_const_charp error_message)
png_error(png_ptr,"Missing IHDR before iCCP")
#define PNG_LITERAL_RIGHT_SQUARE_BRACKET
#define PNG_LITERAL_SHARP
EGLImageKHR EGLint * name
PNG_CONST char FAR * png_const_charp
png_charp png_format_number(png_const_charp start, png_charp end, int format, png_alloc_size_t number)
#define PNG_NUMBER_FORMAT_02x
png_voidp PNGAPI png_get_error_ptr(png_const_structp png_ptr)
#define PNG_WARNING_PARAMETER_COUNT
#define PNG_NUMBER_FORMAT_02u
void PNGAPI png_chunk_benign_error(png_structp png_ptr, png_const_charp error_message)
size_t png_safecat(png_charp buffer, size_t bufsize, size_t pos, png_const_charp string)
png_size_t png_alloc_size_t
EGLContext EGLenum EGLClientBuffer buffer
#define PNG_NUMBER_BUFFER_SIZE
#define PNG_NUMBER_FORMAT_u
png_struct FAR * png_structp
void png_warning_parameter_signed(png_warning_parameters p, int number, int format, png_int_32 value)
void PNGAPI png_warning(png_structp png_ptr, png_const_charp warning_message)
#define PNG_FLAG_BENIGN_ERRORS_WARN
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum format
#define PNG_STRING_NEWLINE
static void png_default_warning(png_structp png_ptr, png_const_charp warning_message)
EGLSurface EGLint void ** value
#define PNG_LITERAL_LEFT_SQUARE_BRACKET
GLsizei const GLcharARB ** string
#define PNG_FUNCTION(type, name, args, attributes)
jmp_buf *PNGAPI png_set_longjmp_fn(png_structp png_ptr, png_longjmp_ptr longjmp_fn, size_t jmp_buf_size)
#define PNG_NUMBER_FORMAT_x
#define PNG_NUMBER_FORMAT_fixed
void PNGAPI png_set_error_fn(png_structp png_ptr, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)
void png_formatted_warning(png_structp png_ptr, png_warning_parameters p, png_const_charp message)
void png_warning_parameter_unsigned(png_warning_parameters p, int number, int format, png_alloc_size_t value)
#define PNG_MAX_ERROR_TEXT
void PNGAPI png_benign_error(png_structp png_ptr, png_const_charp error_message)