diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e90aa9d925..dcb038ec30 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-08-16 10:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * external/libpng/pngconf.h + * external/libpng/pngset.c + * external/libpng/pngpread.c + * external/libpng/LICENSE + * external/libpng/pngwutil.c + * external/libpng/png.c + * external/libpng/png.h + * Updated to 1.2.39 (from 1.2.38) + 2009-08-16 10:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * ChangeLog * config/globsh.cf diff --git a/harbour/external/libpng/LICENSE b/harbour/external/libpng/LICENSE index ddf3b5b064..48eaeadbcd 100644 --- a/harbour/external/libpng/LICENSE +++ b/harbour/external/libpng/LICENSE @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.2.38, July 16, 2009, are +libpng versions 1.2.6, August 15, 2004, through 1.2.39, August 13, 2009, are Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -108,4 +108,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -July 16, 2009 +August 13, 2009 diff --git a/harbour/external/libpng/png.c b/harbour/external/libpng/png.c index 2e9f4c6bfc..c1f3e3e8d3 100644 --- a/harbour/external/libpng/png.c +++ b/harbour/external/libpng/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * Last changed in libpng 1.2.37 [June 4, 2009] + * Last changed in libpng 1.2.39 [August 13, 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.) @@ -16,7 +16,7 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_38 Your_png_h_is_not_version_1_2_38; +typedef version_1_2_39 Your_png_h_is_not_version_1_2_39; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -148,7 +148,7 @@ png_check_sig(png_bytep sig, int num) #ifdef PNG_1_0_X voidpf PNGAPI #else -voidpf /* private */ +voidpf /* PRIVATE */ #endif png_zalloc(voidpf png_ptr, uInt items, uInt size) { @@ -192,7 +192,7 @@ png_zalloc(voidpf png_ptr, uInt items, uInt size) #ifdef PNG_1_0_X void PNGAPI #else -void /* private */ +void /* PRIVATE */ #endif png_zfree(voidpf png_ptr, voidpf ptr) { @@ -705,7 +705,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { png_ptr = png_ptr; /* Silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.2.38 - July 16, 2009\n\ + return ((png_charp) "\n libpng version 1.2.39 - August 13, 2009\n\ Copyright (c) 1998-2009 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); @@ -828,7 +828,8 @@ png_convert_size(size_t size) * A and D, and X || Y is (X << 16) + Y. */ -void png_64bit_product (long v1, long v2, unsigned long *hi_product, +void /* PRIVATE */ +png_64bit_product (long v1, long v2, unsigned long *hi_product, unsigned long *lo_product) { int a, b, c, d; @@ -852,7 +853,7 @@ void png_64bit_product (long v1, long v2, unsigned long *hi_product, *lo_product = (unsigned long)lo; } -int /* private */ +int /* PRIVATE */ png_check_cHRM_fixed(png_structp png_ptr, png_fixed_point white_x, png_fixed_point white_y, png_fixed_point red_x, png_fixed_point red_y, png_fixed_point green_x, png_fixed_point green_y, diff --git a/harbour/external/libpng/png.h b/harbour/external/libpng/png.h index 90cd120a0c..f6330be318 100644 --- a/harbour/external/libpng/png.h +++ b/harbour/external/libpng/png.h @@ -1,6 +1,6 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.38 - July 16, 2009 + * libpng version 1.2.39 - August 13, 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.) @@ -10,7 +10,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.2.38 - July 16, 2009: Glenn + * libpng versions 0.97, January 1998, through 1.2.39 - August 13, 2009: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -237,6 +237,10 @@ * 1.2.38rc01-03 13 10238 12.so.0.38[.0] * 1.0.47 10 10047 10.so.0.47[.0] * 1.2.38 13 10238 12.so.0.38[.0] + * 1.2.39beta01-05 13 10239 12.so.0.39[.0] + * 1.2.39rc01 13 10239 12.so.0.39[.0] + * 1.0.48 10 10048 10.so.0.48[.0] + * 1.2.39 13 10239 12.so.0.39[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -268,7 +272,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.2.38, July 16, 2009, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.39, August 13, 2009, are * Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: @@ -380,13 +384,13 @@ * Y2K compliance in libpng: * ========================= * - * July 16, 2009 + * August 13, 2009 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.2.38 are Y2K compliant. It is my belief that earlier + * upward through 1.2.39 are Y2K compliant. It is my belief that earlier * versions were also Y2K compliant. * * Libpng only has three year fields. One is a 2-byte unsigned integer @@ -442,9 +446,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.38" +#define PNG_LIBPNG_VER_STRING "1.2.39" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.38 - July 16, 2009\n" + " libpng version 1.2.39 - August 13, 2009\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -452,7 +456,7 @@ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 2 -#define PNG_LIBPNG_VER_RELEASE 38 +#define PNG_LIBPNG_VER_RELEASE 39 /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ @@ -482,7 +486,7 @@ * version 1.0.0 was mis-numbered 100 instead of 10000). From * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ -#define PNG_LIBPNG_VER 10238 /* 1.2.38 */ +#define PNG_LIBPNG_VER 10239 /* 1.2.39 */ #ifndef PNG_VERSION_INFO_ONLY /* include the compression library's header */ @@ -1509,7 +1513,7 @@ struct png_struct_def /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef png_structp version_1_2_38; +typedef png_structp version_1_2_39; typedef png_struct FAR * FAR * png_structpp; @@ -3697,6 +3701,14 @@ PNG_EXTERN int png_check_cHRM_fixed PNGARG((png_structp png_ptr, png_fixed_point int_blue_y)); #endif +#if defined(PNG_cHRM_SUPPORTED) +#if !defined(PNG_NO_CHECK_cHRM) +/* Added at libpng version 1.2.34 */ +PNG_EXTERN void png_64bit_product (long v1, long v2, unsigned long *hi_product, + unsigned long *lo_product); +#endif +#endif + /* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */ #endif /* PNG_INTERNAL */ diff --git a/harbour/external/libpng/pngconf.h b/harbour/external/libpng/pngconf.h index c44bd3a19b..35523d85eb 100644 --- a/harbour/external/libpng/pngconf.h +++ b/harbour/external/libpng/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.38 - July 16, 2009 + * libpng version 1.2.39 - August 13, 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.) diff --git a/harbour/external/libpng/pngpread.c b/harbour/external/libpng/pngpread.c index 9eddd6ec88..7adb7b854f 100644 --- a/harbour/external/libpng/pngpread.c +++ b/harbour/external/libpng/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * Last changed in libpng 1.2.37 [July 16, 2009] + * Last changed in libpng 1.2.38 [July 16, 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.) diff --git a/harbour/external/libpng/pngset.c b/harbour/external/libpng/pngset.c index 48e8bbbf02..3c110eba95 100644 --- a/harbour/external/libpng/pngset.c +++ b/harbour/external/libpng/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * Last changed in libpng 1.2.38 [July 16, 2009] + * Last changed in libpng 1.2.39 [August 13, 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.) @@ -708,7 +708,8 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr, { int i; - png_debug1(1, "in %s storage function", (png_ptr->chunk_name[0] == '\0' ? + png_debug1(1, "in %s storage function", ((png_ptr == NULL || + png_ptr->chunk_name[0] == '\0') ? "text" : (png_const_charp)png_ptr->chunk_name)); if (png_ptr == NULL || info_ptr == NULL || num_text == 0) diff --git a/harbour/external/libpng/pngwutil.c b/harbour/external/libpng/pngwutil.c index cd0d3d37a2..aed280e38d 100644 --- a/harbour/external/libpng/pngwutil.c +++ b/harbour/external/libpng/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * Last changed in libpng 1.2.37 [June 4, 2009] + * Last changed in libpng 1.2.39 [August 13, 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.) @@ -788,6 +788,14 @@ png_write_iCCP(png_structp png_ptr, png_charp name, int compression_type, ((*( (png_bytep)profile + 2))<< 8) | ((*( (png_bytep)profile + 3)) ); + if (embedded_profile_len < 0) + { + png_warning(png_ptr, + "Embedded profile length in iCCP chunk is negative"); + png_free(png_ptr, new_name); + return; + } + if (profile_len < embedded_profile_len) { png_warning(png_ptr, @@ -2119,9 +2127,12 @@ png_write_find_filter(png_structp png_ptr, png_row_infop row_info) png_uint_32 mins, bpp; png_byte filter_to_do = png_ptr->do_filter; png_uint_32 row_bytes = row_info->rowbytes; -#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) +#ifdef PNG_WRITE_WEIGHTED_FILTER_SUPPORTED int num_p_filters = (int)png_ptr->num_prev_filters; -#endif +#endif + + png_debug(1, "in png_write_find_filter"); + png_debug(1, "in png_write_find_filter"); /* Find out how many bytes offset each pixel is */