| Index: third_party/libpng/pngerror.c
|
| diff --git a/third_party/libpng/pngerror.c b/third_party/libpng/pngerror.c
|
| index 71a2e53c133e2892cba1ebecf5f10f5592a74a5f..7bc98fb11e4c7a282c824cff47c162f9c679abc6 100644
|
| --- a/third_party/libpng/pngerror.c
|
| +++ b/third_party/libpng/pngerror.c
|
| @@ -1,12 +1,15 @@
|
|
|
| /* pngerror.c - stub functions for i/o and memory allocation
|
| *
|
| - * Last changed in libpng 1.2.37 [June 4, 2009]
|
| - * For conditions of distribution and use, see copyright notice in png.h
|
| + * Last changed in libpng 1.2.41 [December 3, 2009]
|
| * Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
| * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
| * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
| *
|
| + * This code is released under the libpng license.
|
| + * For conditions of distribution and use, see the disclaimer
|
| + * and license in png.h
|
| + *
|
| * This file provides a location for all error handling. Users who
|
| * need special error handling are expected to write replacement functions
|
| * and use png_set_error_fn() to use those functions. See the instructions
|
| @@ -14,24 +17,25 @@
|
| */
|
|
|
| #define PNG_INTERNAL
|
| +#define PNG_NO_PEDANTIC_WARNINGS
|
| #include "png.h"
|
| #if defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED)
|
|
|
| static void /* PRIVATE */
|
| png_default_error PNGARG((png_structp png_ptr,
|
| - png_const_charp error_message));
|
| -#ifndef PNG_NO_WARNINGS
|
| + png_const_charp error_message)) PNG_NORETURN;
|
| +#ifdef PNG_WARNINGS_SUPPORTED
|
| static void /* PRIVATE */
|
| png_default_warning PNGARG((png_structp png_ptr,
|
| png_const_charp warning_message));
|
| -#endif /* PNG_NO_WARNINGS */
|
| +#endif /* PNG_WARNINGS_SUPPORTED */
|
|
|
| /* This function is called whenever there is a fatal error. This function
|
| * should not be changed. If there is a need to handle errors differently,
|
| * you should supply a replacement error function and use png_set_error_fn()
|
| * to replace the error function at run-time.
|
| */
|
| -#ifndef PNG_NO_ERROR_TEXT
|
| +#ifdef PNG_ERROR_TEXT_SUPPORTED
|
| void PNGAPI
|
| png_error(png_structp png_ptr, png_const_charp error_message)
|
| {
|
| @@ -42,7 +46,7 @@ png_error(png_structp png_ptr, png_const_charp error_message)
|
| if (png_ptr->flags&
|
| (PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))
|
| {
|
| - if (*error_message == '#')
|
| + if (*error_message == PNG_LITERAL_SHARP)
|
| {
|
| /* Strip "#nnnn " from beginning of error message. */
|
| int offset;
|
| @@ -90,9 +94,9 @@ png_err(png_structp png_ptr)
|
| use the default handler, which will not return. */
|
| png_default_error(png_ptr, '\0');
|
| }
|
| -#endif /* PNG_NO_ERROR_TEXT */
|
| +#endif /* PNG_ERROR_TEXT_SUPPORTED */
|
|
|
| -#ifndef PNG_NO_WARNINGS
|
| +#ifdef PNG_WARNINGS_SUPPORTED
|
| /* This function is called whenever there is a non-fatal error. This function
|
| * should not be changed. If there is a need to handle warnings differently,
|
| * you should supply a replacement warning function and use
|
| @@ -109,7 +113,7 @@ png_warning(png_structp png_ptr, png_const_charp warning_message)
|
| (PNG_FLAG_STRIP_ERROR_NUMBERS|PNG_FLAG_STRIP_ERROR_TEXT))
|
| #endif
|
| {
|
| - if (*warning_message == '#')
|
| + if (*warning_message == PNG_LITERAL_SHARP)
|
| {
|
| for (offset = 1; offset < 15; offset++)
|
| if (warning_message[offset] == ' ')
|
| @@ -122,8 +126,18 @@ png_warning(png_structp png_ptr, png_const_charp warning_message)
|
| else
|
| png_default_warning(png_ptr, warning_message + offset);
|
| }
|
| -#endif /* PNG_NO_WARNINGS */
|
| +#endif /* PNG_WARNINGS_SUPPORTED */
|
|
|
| +#ifdef PNG_BENIGN_ERRORS_SUPPORTED
|
| +void PNGAPI
|
| +png_benign_error(png_structp png_ptr, png_const_charp error_message)
|
| +{
|
| + if (png_ptr->flags & PNG_FLAG_BENIGN_ERRORS_WARN)
|
| + png_warning(png_ptr, error_message);
|
| + else
|
| + png_error(png_ptr, error_message);
|
| +}
|
| +#endif
|
|
|
| /* These utilities are used internally to build an error message that relates
|
| * to the current chunk. The chunk name comes from png_ptr->chunk_name,
|
| @@ -138,8 +152,7 @@ static PNG_CONST char png_digit[16] = {
|
| };
|
|
|
| #define PNG_MAX_ERROR_TEXT 64
|
| -
|
| -#if !defined(PNG_NO_WARNINGS) || !defined(PNG_NO_ERROR_TEXT)
|
| +#if defined(PNG_WARNINGS_SUPPORTED) || defined(PNG_ERROR_TEXT_SUPPORTED)
|
| static void /* PRIVATE */
|
| png_format_buffer(png_structp png_ptr, png_charp buffer, png_const_charp
|
| error_message)
|
| @@ -151,10 +164,10 @@ png_format_buffer(png_structp png_ptr, png_charp buffer, png_const_charp
|
| int c = png_ptr->chunk_name[iin++];
|
| if (isnonalpha(c))
|
| {
|
| - buffer[iout++] = '[';
|
| + buffer[iout++] = PNG_LITERAL_LEFT_SQUARE_BRACKET;
|
| buffer[iout++] = png_digit[(c & 0xf0) >> 4];
|
| buffer[iout++] = png_digit[c & 0x0f];
|
| - buffer[iout++] = ']';
|
| + buffer[iout++] = PNG_LITERAL_RIGHT_SQUARE_BRACKET;
|
| }
|
| else
|
| {
|
| @@ -187,9 +200,9 @@ png_chunk_error(png_structp png_ptr, png_const_charp error_message)
|
| }
|
| }
|
| #endif /* PNG_READ_SUPPORTED */
|
| -#endif /* !defined(PNG_NO_WARNINGS) || !defined(PNG_NO_ERROR_TEXT) */
|
| +#endif /* PNG_WARNINGS_SUPPORTED || PNG_ERROR_TEXT_SUPPORTED */
|
|
|
| -#ifndef PNG_NO_WARNINGS
|
| +#ifdef PNG_WARNINGS_SUPPORTED
|
| void PNGAPI
|
| png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
|
| {
|
| @@ -202,8 +215,20 @@ png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
|
| png_warning(png_ptr, msg);
|
| }
|
| }
|
| -#endif /* PNG_NO_WARNINGS */
|
| +#endif /* PNG_WARNINGS_SUPPORTED */
|
|
|
| +#ifdef PNG_READ_SUPPORTED
|
| +#ifdef PNG_BENIGN_ERRORS_SUPPORTED
|
| +void PNGAPI
|
| +png_chunk_benign_error(png_structp png_ptr, png_const_charp error_message)
|
| +{
|
| + if (png_ptr->flags & PNG_FLAG_BENIGN_ERRORS_WARN)
|
| + png_chunk_warning(png_ptr, error_message);
|
| + else
|
| + png_chunk_error(png_ptr, error_message);
|
| +}
|
| +#endif
|
| +#endif /* PNG_READ_SUPPORTED */
|
|
|
| /* This is the default error handling function. Note that replacements for
|
| * this function MUST NOT RETURN, or the program will likely crash. This
|
| @@ -213,9 +238,9 @@ png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
|
| static void /* PRIVATE */
|
| png_default_error(png_structp png_ptr, png_const_charp error_message)
|
| {
|
| -#ifndef PNG_NO_CONSOLE_IO
|
| +#ifdef PNG_CONSOLE_IO_SUPPORTED
|
| #ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
| - if (*error_message == '#')
|
| + if (*error_message == PNG_LITERAL_SHARP)
|
| {
|
| /* Strip "#nnnn " from beginning of error message. */
|
| int offset;
|
| @@ -255,21 +280,21 @@ png_default_error(png_structp png_ptr, png_const_charp error_message)
|
| {
|
| jmp_buf jmpbuf;
|
| png_memcpy(jmpbuf, png_ptr->jmpbuf, png_sizeof(jmp_buf));
|
| - longjmp(jmpbuf, 1);
|
| + longjmp(jmpbuf,1);
|
| }
|
| # else
|
| longjmp(png_ptr->jmpbuf, 1);
|
| # endif
|
| }
|
| -#else
|
| - PNG_ABORT();
|
| #endif
|
| -#ifdef PNG_NO_CONSOLE_IO
|
| + /* Here if not setjmp support or if png_ptr is null. */
|
| + PNG_ABORT();
|
| +#ifndef PNG_CONSOLE_IO_SUPPORTED
|
| error_message = error_message; /* Make compiler happy */
|
| #endif
|
| }
|
|
|
| -#ifndef PNG_NO_WARNINGS
|
| +#ifdef PNG_WARNINGS_SUPPORTED
|
| /* This function is called when there is a warning, but the library thinks
|
| * it can continue anyway. Replacement functions don't have to do anything
|
| * here if you don't want them to. In the default configuration, png_ptr is
|
| @@ -278,9 +303,9 @@ png_default_error(png_structp png_ptr, png_const_charp error_message)
|
| static void /* PRIVATE */
|
| png_default_warning(png_structp png_ptr, png_const_charp warning_message)
|
| {
|
| -#ifndef PNG_NO_CONSOLE_IO
|
| +#ifdef PNG_CONSOLE_IO_SUPPORTED
|
| # ifdef PNG_ERROR_NUMBERS_SUPPORTED
|
| - if (*warning_message == '#')
|
| + if (*warning_message == PNG_LITERAL_SHARP)
|
| {
|
| int offset;
|
| char warning_number[16];
|
| @@ -315,7 +340,7 @@ png_default_warning(png_structp png_ptr, png_const_charp warning_message)
|
| #endif
|
| png_ptr = png_ptr; /* Make compiler happy */
|
| }
|
| -#endif /* PNG_NO_WARNINGS */
|
| +#endif /* PNG_WARNINGS_SUPPORTED */
|
|
|
| /* This function is called when the application wants to use another method
|
| * of handling errors and warnings. Note that the error function MUST NOT
|
|
|