diff --git a/ANNOUNCE b/ANNOUNCE index 276d9007b..dcc3d4c03 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.0beta2 - May 7, 2001 +Libpng 1.2.0beta3 - May 18, 2001 This is a public release of libpng, intended for use in production codes. @@ -8,12 +8,19 @@ Changes since the last public release (1.0.11): Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot) Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings. - Bumped DLLNUM to 2. Enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED by default. Added runtime selection of MMX features. Added png_set_strip_error_numbers function and related macros. Added a check for attempts to read or write PLTE in grayscale PNG datastreams. + Eliminated the png_error about apps using png_read|write_init(). Instead, + libpng will reallocate the png_struct and info_struct if they are too small. + This retains future binary compatibility for old applications written for + libpng-0.88 and earlier. + Enabled user memory function by default. + Modified png_create_struct so it passes user mem_ptr to user memory allocator. + Increased png_mng_features flag from png_byte to png_uint_32. + Bumped shared-library (so-number) and dll-number to 3. Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/CHANGES b/CHANGES index 57a62b3a4..1129ac400 100644 --- a/CHANGES +++ b/CHANGES @@ -931,18 +931,28 @@ version 1.0.11beta4 [April 20, 2001] Added makefile.netbsd version 1.0.11 [April 27, 2001] Revised makefile.netbsd -version 1.2.0beta1 [May 6, 2001] +version 1.0.12beta1 [May 14, 2001] Test for Windows platform in pngconf.h when including malloc.h (Emmanuel Blot) Updated makefile.cygwin and handling of Cygwin's ALL_STATIC in pngconf.h Added some never-to-be-executed code in pnggccrd.c to quiet compiler warnings. + Eliminated the png_error about apps using png_read|write_init(). Instead, + libpng will reallocate the png_struct and info_struct if they are too small. + This retains future binary compatibility for old applications written for + libpng-0.88 and earlier. +version 1.2.0beta1 [May 6, 2001] Bumped DLLNUM to 2. Re-enabled PNG_MNG_FEATURES_SUPPORTED and enabled PNG_ASSEMBLER_CODE_SUPPORTED by default. Added runtime selection of MMX features. Added png_set_strip_error_numbers function and related macros. version 1.2.0beta2 [May 7, 2001] - Finished merging 1.2.0beta1 with version 1.0.9 + Finished merging 1.2.0beta1 with version 1.0.11 Added a check for attempts to read or write PLTE in grayscale PNG datastreams. +version 1.2.0beta3 [May 18, 2001] + Enabled user memory function by default. + Modified png_create_struct so it passes user mem_ptr to user memory allocator. + Increased png_mng_features flag from png_byte to png_uint_32. + Bumped shared-library (so-number) and dll-number to 3. Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/INSTALL b/INSTALL index 2c965607d..7a85fb488 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.0beta2 - May 7, 2001 +Installing libpng version 1.2.0beta3 - May 18, 2001 Before installing libpng, you must first install zlib. zlib can usually be found wherever you got libpng. zlib can be @@ -10,7 +10,7 @@ zlib.h and zconf.h include files that correspond to the version of zlib that's installed. You can rename the directories that you downloaded (they -might be called "libpng-1.2.0beta2" or "lpng109" and "zlib-1.1.3" +might be called "libpng-1.2.0beta3" or "lpng109" and "zlib-1.1.3" or "zlib113") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -60,8 +60,8 @@ The files that are presently available in the scripts directory include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) - makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0beta2) - makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0beta2, + makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0beta3) + makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.2.0beta3, uses assembler code tuned for Intel MMX platform) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with @@ -78,9 +78,9 @@ include makefile.macosx => MACOS X Makefile makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0beta2) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0beta3) makefile.sunos => Sun makefile - makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.2.0beta2) + makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.2.0beta3) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/LICENSE b/LICENSE index 7a5059bbb..403e6260b 100644 --- a/LICENSE +++ b/LICENSE @@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.0.7, July 1, 2000, through 1.2.0beta2, May 7, 2001, are +libpng versions 1.0.7, July 1, 2000, through 1.2.0beta3, May 18, 2001, are Copyright (c) 2000 Glenn Randers-Pehrson and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors @@ -99,4 +99,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson randeg@alum.rpi.edu -May 7, 2001 +May 18, 2001 diff --git a/README b/README index e51081675..36a8109e2 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng 1.2.0beta2 - May 7, 2001 (shared library 2.1) +README for libpng 1.2.0beta3 - May 18, 2001 (shared library 2.1) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -183,9 +183,9 @@ Files in this distribution: descrip.mms => VMS makefile for MMS or MMK makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.linux => Linux/ELF makefile - (gcc, creates libpng.so.2.1.2.0beta2) + (gcc, creates libpng.so.2.1.2.0beta3) makefile.gcmmx => Linux/ELF makefile (gcc, creates - libpng.so.2.1.2.0beta2, uses assembler code + libpng.so.2.1.2.0beta3, uses assembler code tuned for Intel MMX platform) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with @@ -202,10 +202,10 @@ Files in this distribution: makefile.macosx => MACOS X Makefile makefile.netbsd => NetBSD/cc makefile, uses PNGGCCRD makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0beta2) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.2.0beta3) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng.so.2.1.2.0beta2) + (gcc, creates libpng.so.2.1.2.0beta3) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/Y2KINFO b/Y2KINFO index bcc0a78ea..3a9915210 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - May 7, 2001 + May 18, 2001 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.0beta2 are Y2K compliant. It is my belief that earlier + upward through 1.2.0beta3 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 diff --git a/configure b/configure index 9d76b68b8..fb63cb9f0 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ echo " - There is no \"configure\" script for Libpng-1.2.0beta2. Instead, please + There is no \"configure\" script for Libpng-1.2.0beta3. Instead, please copy the appropriate makefile for your system from the \"scripts\" directory. Read the INSTALL file for more details. " diff --git a/contrib/msvctest/msvctest.dsp b/contrib/msvctest/msvctest.dsp index ba3948755..01c1dcfb3 100644 --- a/contrib/msvctest/msvctest.dsp +++ b/contrib/msvctest/msvctest.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /subsystem:console /machine:I386 -# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll\libpng2.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll\libpng3.lib /nologo /subsystem:console /machine:I386 # Begin Special Build Tool OutDir=.\dll SOURCE="$(InputPath)" @@ -84,7 +84,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbg\libpng2d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbg\libpng3d.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # Begin Special Build Tool OutDir=.\dll_dbg SOURCE="$(InputPath)" @@ -114,7 +114,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /subsystem:console /machine:I386 -# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_asm\libpng2a.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_asm\libpng3a.lib /nologo /subsystem:console /machine:I386 # Begin Special Build Tool OutDir=.\dll_asm SOURCE="$(InputPath)" @@ -144,7 +144,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbga\libpng2b.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ..\..\projects\msvc\win32\libpng\dll_dbga\libpng3b.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # Begin Special Build Tool OutDir=.\dll_dbga SOURCE="$(InputPath)" diff --git a/contrib/visupng/VisualPng.dsp b/contrib/visupng/VisualPng.dsp index a88346fdd..3fbac0246 100644 --- a/contrib/visupng/VisualPng.dsp +++ b/contrib/visupng/VisualPng.dsp @@ -59,8 +59,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 libpng2.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"libpng" /libpath:"zlib" -# ADD LINK32 libpng2.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll" +# ADD BASE LINK32 libpng3.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"libpng" /libpath:"zlib" +# ADD LINK32 libpng3.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll" # Begin Special Build Tool OutDir=.\dll SOURCE="$(InputPath)" @@ -92,9 +92,9 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 libpng2.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"libpng" /libpath:"zlib" +# ADD BASE LINK32 libpng3.lib zlibd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"libpng" /libpath:"zlib" # SUBTRACT BASE LINK32 /nodefaultlib -# ADD LINK32 libpng2d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg" +# ADD LINK32 libpng3d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg" # SUBTRACT LINK32 /nodefaultlib # Begin Special Build Tool OutDir=.\dll_dbg @@ -128,7 +128,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 libpng2.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll" +# ADD BASE LINK32 libpng3.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\dll" # ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\projects\msvc\win32\libpng\lib" # Begin Special Build Tool OutDir=.\lib @@ -161,7 +161,7 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 libpng2d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg" +# ADD BASE LINK32 libpng3d.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\dll_dbg" # SUBTRACT BASE LINK32 /nodefaultlib # ADD LINK32 libpng.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\projects\msvc\win32\libpng\lib_dbg" # SUBTRACT LINK32 /nodefaultlib diff --git a/libpng.3 b/libpng.3 index 1e546c3f1..483a635f0 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "May 7, 2001" +.TH LIBPNG 3 "May 18, 2001" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta3 .SH SYNOPSIS \fI\fB @@ -318,11 +318,15 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fI\fB -\fBvoid png_info_init (png_infop \fIinfo_ptr\fP\fB);\fP +\fBvoid png_init_io (png_structp \fP\fIpng_ptr\fP\fB, FILE \fI*fp\fP\fB);\fP \fI\fB -\fBvoid png_init_io (png_structp \fP\fIpng_ptr\fP\fB, FILE \fI*fp\fP\fB);\fP +\fBDEPRECATED: void png_info_init (png_infop \fIinfo_ptr\fP\fB);\fP + +\fI\fB + +\fBDEPRECATED: void png_info_init_2 (png_infopp \fP\fIptr_ptr\fP\fB, png_size_t \fIpng_info_struct_size\fP\fB);\fP \fI\fB @@ -354,7 +358,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fI\fB -\fBvoid png_permit_empty_plte (png_structp \fP\fIpng_ptr\fP\fB, int \fIempty_plte_permitted\fP\fB);\fP +\fBDEPRECATED: void png_permit_empty_plte (png_structp \fP\fIpng_ptr\fP\fB, int \fIempty_plte_permitted\fP\fB);\fP \fI\fB @@ -382,7 +386,9 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fI\fB -\fBDEPRECATED: void png_read_init_2 (png_structp \fP\fIpng_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP +\fBDEPRECATED: void png_read_init_2 (png_structpp \fP\fIptr_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP + +\fI\fB \fBvoid png_read_info (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fIinfo_ptr\fP\fB);\fP @@ -746,7 +752,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fI\fB -\fBDEPRECATED: void png_write_init_2 (png_structp \fP\fIpng_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP +\fBDEPRECATED: void png_write_init_2 (png_structpp \fP\fIptr_ptr\fP\fB, png_const_charp \fP\fIuser_png_ver\fP\fB, png_size_t \fP\fIpng_struct_size\fP\fB, png_size_t \fIpng_info_size\fP\fB);\fP \fI\fB @@ -781,7 +787,7 @@ Following is a copy of the libpng.txt file that accompanies libpng. .SH LIBPNG.TXT libpng.txt - A description on how to use and modify libpng - libpng version 1.2.0beta2 - May 7, 2001 + libpng version 1.2.0beta3 - May 18, 2001 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2001 Glenn Randers-Pehrson @@ -3559,7 +3565,7 @@ of the original PNG Group, Glenn Randers-Pehrson. Guy and Andreas are still alive and well, but they have moved on to other things. The old libpng functions png_read_init(), png_write_init(), -png_info_init(), png_read_destroy(), and png_write_destory() have been +png_info_init(), png_read_destroy(), and png_write_destroy() have been moved to PNG_INTERNAL in version 0.95 to discourage their use. These functions will be removed from libpng version 2.0.0. @@ -3600,13 +3606,13 @@ application: .SH IX. Y2K Compliance in libpng -May 7, 2001 +May 18, 2001 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.0beta2 are Y2K compliant. It is my belief that earlier +upward through 1.2.0beta3 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 that @@ -3718,8 +3724,10 @@ the first widely used release: 1.0.11beta1-3 1 10011 2.1.0.11beta1-3 1.0.11rc1 1 10011 2.1.0.11rc1 1.0.11 1 10011 2.1.0.11 - 1.1.0a-f 1 10100 2.1.1.0 abandoned - 1.2.0beta1 2 10200 2.1.2.0beta1 + 1.0.12a 2 10012 2.1.0.12a + 1.1.0a-f 10100 2.1.1.0a-f abandoned + 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 + 1.2.0beta3 3 10200 3.1.2.0beta3 Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3777,7 +3785,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.0beta2 - May 7, 2001: +Libpng version 1.2.0beta3 - May 18, 2001: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu). @@ -3794,7 +3802,7 @@ included in the libpng distribution, the latter shall prevail.) If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.0.7, July 1, 2000, through 1.2.0beta2, May 7, 2001, are +libpng versions 1.0.7, July 1, 2000, through 1.2.0beta3, May 18, 2001, are Copyright (c) 2000-2001 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals added to the list of Contributing Authors @@ -3886,7 +3894,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson randeg@alum.rpi.edu -May 7, 2001 +May 18, 2001 .\" end of man page diff --git a/libpng.txt b/libpng.txt index f40801ea1..2296b3a8f 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.0beta2 - May 7, 2001 + libpng version 1.2.0beta3 - May 18, 2001 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2001 Glenn Randers-Pehrson @@ -2778,7 +2778,7 @@ of the original PNG Group, Glenn Randers-Pehrson. Guy and Andreas are still alive and well, but they have moved on to other things. The old libpng functions png_read_init(), png_write_init(), -png_info_init(), png_read_destroy(), and png_write_destory() have been +png_info_init(), png_read_destroy(), and png_write_destroy() have been moved to PNG_INTERNAL in version 0.95 to discourage their use. These functions will be removed from libpng version 2.0.0. @@ -2819,13 +2819,13 @@ application: IX. Y2K Compliance in libpng -May 7, 2001 +May 18, 2001 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.0beta2 are Y2K compliant. It is my belief that earlier +upward through 1.2.0beta3 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 that diff --git a/libpngpf.3 b/libpngpf.3 index f365fbd52..79113a299 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "May 7, 2001" +.TH LIBPNGPF 3 "May 18, 2001" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta3 (private functions) .SH SYNOPSIS \fB#include \fP @@ -47,11 +47,11 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fI\fB -\fBpng_voidp png_create_struct (int \fP\fItype\fP\fB, png_malloc_ptr \fImalloc_fn\fP\fB);\fP +\fBpng_voidp png_create_struct (int \fItype\fP\fB);\fP \fI\fB -\fBpng_voidp png_create_struct_2 (int \fItype\fP\fB);\fP +\fBpng_voidp png_create_struct_2 (int \fP\fItype\fP\fB, png_malloc_ptr \fP\fImalloc_fn\fP\fB, png_voidp \fImem_ptr\fP\fB);\fP \fI\fB @@ -63,7 +63,7 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fI\fB -\fBvoid png_destroy_struct_2 (png_voidp \fP\fIstruct_ptr\fP\fB, png_free_ptr \fIfree_fn\fP\fB);\fP +\fBvoid png_destroy_struct_2 (png_voidp \fP\fIstruct_ptr\fP\fB, png_free_ptr \fP\fIfree_fn\fP\fB, png_voidp \fImem_ptr\fP\fB);\fP \fI\fB @@ -429,6 +429,8 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 \fBvoid png_write_data (png_structp \fP\fIpng_ptr\fP\fB, png_bytep \fP\fIdata\fP\fB, png_size_t \fIlength\fP\fB);\fP +\fI\fB + \fBvoid png_write_filtered_row (png_structp \fP\fIpng_ptr\fP\fB, png_bytep \fIfiltered_row\fP\fB);\fP \fI\fB @@ -543,7 +545,8 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.2.0beta2 .SH DESCRIPTION The functions listed above are used privately by libpng -and are not recommended for use by applications. They +and are not recommended for use by applications. They are +not "exported" to applications using shared libraries. They are listed alphabetically here as an aid to libpng maintainers. See png.h for more information on these functions. diff --git a/png.5 b/png.5 index 5c8912a01..9f55072c9 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "May 7, 2001" +.TH PNG 5 "May 18, 2001" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index de44a555a..5f3a69c5e 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.2.0beta2 - May 7, 2001 + * libpng version 1.2.0beta3 - May 18, 2001 * Copyright (c) 1998-2001 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.) @@ -13,14 +13,14 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_0beta2 Your_png_h_is_not_version_1_2_0beta2; +typedef version_1_2_0beta3 Your_png_h_is_not_version_1_2_0beta3; /* Version information for C files. This had better match the version * string defined in png.h. */ #ifdef PNG_USE_GLOBAL_ARRAYS /* png_libpng_ver was changed to a function in version 1.0.5c */ -const char png_libpng_ver[18] = "1.2.0beta2"; +const char png_libpng_ver[18] = "1.2.0beta3"; /* png_sig was changed to a function in version 1.0.5c */ /* Place to hold the signature string for a PNG file. */ @@ -213,12 +213,12 @@ png_create_info_struct(png_structp png_ptr) if(png_ptr == NULL) return (NULL); #ifdef PNG_USER_MEM_SUPPORTED if ((info_ptr = (png_infop)png_create_struct_2(PNG_STRUCT_INFO, - png_ptr->malloc_fn)) != NULL) + png_ptr->malloc_fn, png_ptr->mem_ptr)) != NULL) #else if ((info_ptr = (png_infop)png_create_struct(PNG_STRUCT_INFO)) != NULL) #endif { - png_info_init(info_ptr); + png_info_init_3(&info_ptr, sizeof(png_info)); } return (info_ptr); @@ -243,7 +243,8 @@ png_destroy_info_struct(png_structp png_ptr, png_infopp info_ptr_ptr) png_info_destroy(png_ptr, info_ptr); #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2((png_voidp)info_ptr, png_ptr->free_fn); + png_destroy_struct_2((png_voidp)info_ptr, png_ptr->free_fn, + png_ptr->mem_ptr); #else png_destroy_struct((png_voidp)info_ptr); #endif @@ -255,10 +256,28 @@ png_destroy_info_struct(png_structp png_ptr, png_infopp info_ptr_ptr) * and applications using it are urged to use png_create_info_struct() * instead. */ -void /* PRIVATE */ +#undef png_info_init +void PNGAPI png_info_init(png_infop info_ptr) { - png_debug(1, "in png_info_init\n"); + /* We only come here via pre-1.0.12-compiled applications */ + png_info_init_3(&info_ptr, 0); +} + +void PNGAPI +png_info_init_3(png_infopp ptr_ptr, png_size_t png_info_struct_size) +{ + png_infop info_ptr = *ptr_ptr; + + png_debug(1, "in png_info_init_3\n"); + + if(sizeof(png_info) > png_info_struct_size) + { + png_destroy_struct(info_ptr); + info_ptr = (png_infop)png_create_struct(PNG_STRUCT_INFO); + *ptr_ptr = info_ptr; + } + /* set everything to 0 */ png_memset(info_ptr, 0, sizeof (png_info)); } @@ -537,7 +556,7 @@ png_info_destroy(png_structp png_ptr, png_infop info_ptr) } #endif - png_info_init(info_ptr); + png_info_init_3(&info_ptr, sizeof(png_info)); } /* This function returns a pointer to the io_ptr associated with the user @@ -627,7 +646,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */ - return ((png_charp) "\n libpng version 1.2.0beta2 - May 7, 2001\n\ + return ((png_charp) "\n libpng version 1.2.0beta3 - May 18, 2001\n\ Copyright (c) 1998-2001 Glenn Randers-Pehrson\n\ Copyright (c) 1996, 1997 Andreas Dilger\n\ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n"); @@ -645,8 +664,8 @@ png_get_libpng_ver(png_structp png_ptr) { /* Version of *.c files used when building libpng */ if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */ - return((png_charp) "1.2.0beta2"); - return((png_charp) "1.2.0beta2"); + return((png_charp) "1.2.0beta3"); + return((png_charp) "1.2.0beta3"); } png_charp PNGAPI @@ -709,21 +728,21 @@ png_init_mmx_flags (png_structp png_ptr) png_ptr->mmx_rowbytes_threshold = 0; png_ptr->mmx_bitdepth_threshold = 0; -#if (defined(PNG_USE_PNGVCRD) || defined(PNG_USE_PNGGCCRD)) +# if (defined(PNG_USE_PNGVCRD) || defined(PNG_USE_PNGGCCRD)) png_ptr->asm_flags |= PNG_ASM_FLAG_MMX_SUPPORT_COMPILED; if (png_mmx_support()) { png_ptr->asm_flags |= PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU -#ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW +# ifdef PNG_HAVE_ASSEMBLER_COMBINE_ROW | PNG_ASM_FLAG_MMX_READ_COMBINE_ROW -#endif -#ifdef PNG_HAVE_ASSEMBLER_READ_INTERLACE +# endif +# ifdef PNG_HAVE_ASSEMBLER_READ_INTERLACE | PNG_ASM_FLAG_MMX_READ_INTERLACE -#endif -#ifndef PNG_HAVE_ASSEMBLER_READ_FILTER_ROW +# endif +# ifndef PNG_HAVE_ASSEMBLER_READ_FILTER_ROW ; -#else +# else | PNG_ASM_FLAG_MMX_READ_FILTER_SUB | PNG_ASM_FLAG_MMX_READ_FILTER_UP | PNG_ASM_FLAG_MMX_READ_FILTER_AVG @@ -731,19 +750,19 @@ png_init_mmx_flags (png_structp png_ptr) png_ptr->mmx_rowbytes_threshold = PNG_MMX_ROWBYTES_THRESHOLD_DEFAULT; png_ptr->mmx_bitdepth_threshold = PNG_MMX_BITDEPTH_THRESHOLD_DEFAULT; -#endif +# endif } else { png_ptr->asm_flags &= ~( PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU | PNG_MMX_READ_FLAGS | PNG_MMX_WRITE_FLAGS ); } -#else /* !((PNGVCRD || PNGGCCRD) && PNG_ASSEMBLER_CODE_SUPPORTED)) */ +# else /* !((PNGVCRD || PNGGCCRD) && PNG_ASSEMBLER_CODE_SUPPORTED)) */ /* clear all MMX flags; no support is compiled in */ png_ptr->asm_flags &= ~( PNG_MMX_FLAGS ); -#endif /* ?(PNGVCRD || PNGGCCRD) */ +# endif /* ?(PNGVCRD || PNGGCCRD) */ } #endif /* !(PNG_ASSEMBLER_CODE_SUPPORTED) */ diff --git a/png.h b/png.h index a40ccfc14..d7d01feb4 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.0beta2 - May 7, 2001 + * libpng version 1.2.0beta3 - May 18, 2001 * Copyright (c) 1998-2001 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.) @@ -9,7 +9,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.0beta2 - May 7, 2001: Glenn + * libpng versions 0.97, January 1998, through 1.2.0beta3 - May 18, 2001: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -70,8 +70,10 @@ * 1.0.11beta1-3 1 10011 2.1.0.11beta1-3 * 1.0.11rc1 1 10011 2.1.0.11rc1 * 1.0.11 1 10011 2.1.0.11 - * 1.1.0a-f 1 10100 2.1.1.0 (branch abandoned) - * 1.2.0beta1 2 10200 2.1.2.0beta1 + * 1.0.12a 2 10012 2.1.0.12a + * 1.1.0a-f 10100 2.1.1.0a-f (branch abandoned) + * 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 + * 1.2.0beta3 3 10200 3.1.2.0beta3 * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -101,7 +103,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.0.7, July 1, 2000, through 1.2.0beta2, May 7, 2001, are + * libpng versions 1.0.7, July 1, 2000, through 1.2.0beta3, May 18, 2001, are * Copyright (c) 2000, 2001 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.0.6 * with the following individuals added to the list of Contributing Authors @@ -206,13 +208,13 @@ * Y2K compliance in libpng: * ========================= * - * May 7, 2001 + * May 18, 2001 * * 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.0beta2 are Y2K compliant. It is my belief that earlier + * upward through 1.2.0beta3 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 @@ -268,9 +270,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.0beta2" +#define PNG_LIBPNG_VER_STRING "1.2.0beta3" -#define PNG_LIBPNG_VER_SONUM 2 +#define PNG_LIBPNG_VER_SONUM 3 #define PNG_LIBPNG_VER_DLLNUM %DLLNUM% /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ @@ -280,7 +282,7 @@ /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 2 +#define PNG_LIBPNG_VER_BUILD 3 #define PNG_LIBPNG_BUILD_ALPHA 1 #define PNG_LIBPNG_BUILD_BETA 2 @@ -701,6 +703,7 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) png_byte pcal_nparams; /* number of parameters given in pcal_params */ #endif +/* New members added in libpng-1.0.6 */ #ifdef PNG_FREE_ME_SUPPORTED png_uint_32 free_me; /* flags items libpng is responsible for freeing */ #endif @@ -1141,12 +1144,6 @@ struct png_struct_def png_charp time_buffer; /* String to hold RFC 1123 time text */ #endif -#ifdef PNG_USER_MEM_SUPPORTED - png_voidp mem_ptr; /* user supplied struct for mem functions */ - png_malloc_ptr malloc_fn; /* function for allocating memory */ - png_free_ptr free_fn; /* function for freeing memory */ -#endif - /* New members added in libpng-1.0.6 */ #ifdef PNG_FREE_ME_SUPPORTED @@ -1163,41 +1160,59 @@ struct png_struct_def png_bytep chunk_list; #endif +/* New members added in libpng-1.0.3 */ #if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) png_byte rgb_to_gray_status; + /* These were changed from png_byte in libpng-1.0.6 */ png_uint_16 rgb_to_gray_red_coeff; png_uint_16 rgb_to_gray_green_coeff; png_uint_16 rgb_to_gray_blue_coeff; #endif +/* New member added in libpng-1.0.4 (renamed in 1.0.9) */ #if defined(PNG_MNG_FEATURES_SUPPORTED) || \ defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \ defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED) -/* Note to maintainer: change this to png_uint_32 at next opportunity */ - png_byte mng_features_permitted; +/* changed from png_byte to png_uint_32 at version 1.2.0 */ + png_uint_32 mng_features_permitted; #endif +/* New member added in libpng-1.0.7 */ #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) png_fixed_point int_gamma; #endif +/* New member added in libpng-1.0.9, ifdef'ed out in 1.0.12, enabled in 1.2.0 */ +#if defined(PNG_MNG_FEATURES_SUPPORTED) png_byte filter_type; +#endif +#if defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD) +/* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */ + png_uint_32 row_buf_size; +#endif + +/* New members added in libpng-1.2.0 */ #if defined(PNG_ASSEMBLER_CODE_SUPPORTED) png_byte mmx_bitdepth_threshold; png_uint_32 mmx_rowbytes_threshold; png_uint_32 asm_flags; #endif - png_uint_32 row_buf_size; +/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ +#ifdef PNG_USER_MEM_SUPPORTED + png_voidp mem_ptr; /* user supplied struct for mem functions */ + png_malloc_ptr malloc_fn; /* function for allocating memory */ + png_free_ptr free_fn; /* function for freeing memory */ +#endif }; /* This prevents a compiler error in png_get_copyright() in png.c if png.c -and png.h are both at * version 1.2.0beta2 + and png.h are both at version 1.2.0beta3 */ -typedef png_structp version_1_2_0beta2; +typedef png_structp version_1_2_0beta3; typedef png_struct FAR * FAR * png_structpp; @@ -1248,6 +1263,7 @@ extern PNG_EXPORT(void,png_set_compression_buffer_size) /* Reset the compression stream */ extern PNG_EXPORT(int,png_reset_zstream) PNGARG((png_structp png_ptr)); +/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ #ifdef PNG_USER_MEM_SUPPORTED extern PNG_EXPORT(png_structp,png_create_read_struct_2) PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, @@ -1278,8 +1294,11 @@ extern PNG_EXPORT(void,png_write_chunk_end) PNGARG((png_structp png_ptr)); extern PNG_EXPORT(png_infop,png_create_info_struct) PNGARG((png_structp png_ptr)); -/* Initialize the info structure (old interface - NOT DLL EXPORTED) */ -extern void png_info_init PNGARG((png_infop info_ptr)); +/* Initialize the info structure (old interface - DEPRECATED) */ +extern PNG_EXPORT(void,png_info_init) PNGARG((png_infop info_ptr)); +#define png_info_init(info_ptr) png_info_init_3(&(info_ptr), sizeof(png_info)); +extern PNG_EXPORT(void,png_info_init_3) PNGARG((png_infopp info_ptr, + png_size_t png_info_struct_size)); /* Writes all the PNG information before the image. */ extern PNG_EXPORT(void,png_write_info_before_PLTE) PNGARG((png_structp png_ptr, @@ -2310,7 +2329,7 @@ extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp /* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */ #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.0beta2 - May 7, 2001 (header)\n" + " libpng version 1.2.0beta3 - May 18, 2001 (header)\n" #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED /* With these routines we avoid an integer divide, which will be slower on @@ -2543,8 +2562,10 @@ PNG_EXTERN png_uint_16 png_get_uint_16 PNGARG((png_bytep buf)); * (old interface - DEPRECATED - use png_create_read_struct instead). */ extern PNG_EXPORT(void,png_read_init) PNGARG((png_structp png_ptr)); -#define png_read_init(png_ptr) png_read_init_2(png_ptr, \ - PNG_LIBPNG_VER_STRING, sizeof(png_struct), sizeof(png_info)); +#define png_read_init(png_ptr) png_read_init_3(&(png_ptr), \ + PNG_LIBPNG_VER_STRING, sizeof(png_struct)); +extern PNG_EXPORT(void,png_read_init_3) PNGARG((png_structpp ptr_ptr, + png_const_charp user_png_ver, png_size_t png_struct_size)); extern PNG_EXPORT(void,png_read_init_2) PNGARG((png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size)); @@ -2553,8 +2574,10 @@ extern PNG_EXPORT(void,png_read_init_2) PNGARG((png_structp png_ptr, * (old interface - DEPRECATED - use png_create_write_struct instead). */ extern PNG_EXPORT(void,png_write_init) PNGARG((png_structp png_ptr)); -#define png_write_init(png_ptr) png_write_init_2(png_ptr, \ - PNG_LIBPNG_VER_STRING, sizeof(png_struct), sizeof(png_info)); +#define png_write_init(png_ptr) png_write_init_3(&(png_ptr), \ + PNG_LIBPNG_VER_STRING, sizeof(png_struct)); +extern PNG_EXPORT(void,png_write_init_3) PNGARG((png_structpp ptr_ptr, + png_const_charp user_png_ver, png_size_t png_struct_size)); extern PNG_EXPORT(void,png_write_init_2) PNGARG((png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size)); @@ -2566,9 +2589,9 @@ PNG_EXTERN png_voidp png_create_struct PNGARG((int type)); PNG_EXTERN void png_destroy_struct PNGARG((png_voidp struct_ptr)); PNG_EXTERN png_voidp png_create_struct_2 PNGARG((int type, png_malloc_ptr - malloc_fn)); + malloc_fn, png_voidp mem_ptr)); PNG_EXTERN void png_destroy_struct_2 PNGARG((png_voidp struct_ptr, - png_free_ptr free_fn)); + png_free_ptr free_fn, png_voidp mem_ptr)); /* Free any memory that info_ptr points to and reset struct. */ PNG_EXTERN void png_info_destroy PNGARG((png_structp png_ptr, diff --git a/pngasmrd.h b/pngasmrd.h index df884dc91..1fd396eff 100644 --- a/pngasmrd.h +++ b/pngasmrd.h @@ -1,6 +1,6 @@ /* pngasmrd.h - assembler version of utilities to read a PNG file * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 2001 Glenn Randers-Pehrson * diff --git a/pngconf.h b/pngconf.h index bcac87770..27c65c741 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,6 +1,6 @@ /* pngconf.h - machine configurable file for libpng * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -623,7 +623,7 @@ * png_get_x_offset_microns() * png_get_y_offset_microns() */ -#ifndef PNG_NO_EASY_ACCESS +#if !defined(PNG_NO_EASY_ACCESS) && !defined(PNG_EASY_ACCESS_SUPPORTED) # define PNG_EASY_ACCESS_SUPPORTED #endif @@ -638,6 +638,10 @@ # endif #endif +#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED) +# define PNG_USER_MEM_SUPPORTED +#endif + /* These are currently experimental features, define them if you want */ /* very little testing */ @@ -647,9 +651,6 @@ # define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED # endif #endif -#ifndef PNG_NO_USER_MEM -# define PNG_USER_MEM_SUPPORTED -#endif #ifndef PNG_NO_ZALLOC_ZERO # define PNG_ZALLOC_ZERO #endif diff --git a/pngerror.c b/pngerror.c index ea2c3a7d7..61f2fbcce 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pnggccrd.c b/pnggccrd.c index 242e69f0b..2377dc178 100644 --- a/pnggccrd.c +++ b/pnggccrd.c @@ -6,7 +6,7 @@ * and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm * for Intel's performance analysis of the MMX vs. non-MMX code. * - * libpng version 1.2.0beta2 - May 7, 2001 + * libpng version 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation @@ -234,12 +234,6 @@ * x add support for runtime enable/disable/query of various MMX routines */ -/* -#ifndef PNG_DEBUG -# define PNG_DEBUG 0 -#endif -*/ - #define PNG_INTERNAL #include "png.h" @@ -4962,16 +4956,28 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep case 0: sprintf(filnm, "none"); break; case 1: sprintf(filnm, "sub-%s", - (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_SUB)? "MMX" : "x86"); +#ifdef PNG_ASSEMBLER_CODE_SUPPORTED + (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_SUB)? "MMX" : +#endif +"x86"); break; case 2: sprintf(filnm, "up-%s", - (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_UP)? "MMX" : "x86"); +#ifdef PNG_ASSEMBLER_CODE_SUPPORTED + (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_UP)? "MMX" : +#endif + "x86"); break; case 3: sprintf(filnm, "avg-%s", - (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_AVG)? "MMX" : "x86"); +#ifdef PNG_ASSEMBLER_CODE_SUPPORTED + (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_AVG)? "MMX" : +#endif + "x86"); break; case 4: sprintf(filnm, "Paeth-%s", - (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_PAETH)? "MMX":"x86"); +#ifdef PNG_ASSEMBLER_CODE_SUPPORTED + (png_ptr->asm_flags & PNG_ASM_FLAG_MMX_READ_FILTER_PAETH)? "MMX": +#endif +"x86"); break; default: sprintf(filnm, "unknw"); break; diff --git a/pngget.c b/pngget.c index b7c3c2493..c5909855c 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngmem.c b/pngmem.c index bff23d785..9a065a1fd 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -27,12 +27,12 @@ png_voidp /* PRIVATE */ png_create_struct(int type) { #ifdef PNG_USER_MEM_SUPPORTED - return (png_create_struct_2(type, NULL)); + return (png_create_struct_2(type, NULL, NULL)); } /* Alternate version of png_create_struct, for use with user-defined malloc. */ png_voidp /* PRIVATE */ -png_create_struct_2(int type, png_malloc_ptr malloc_fn) +png_create_struct_2(int type, png_malloc_ptr malloc_fn, png_voidp mem_ptr) { #endif /* PNG_USER_MEM_SUPPORTED */ png_size_t size; @@ -48,9 +48,18 @@ png_create_struct_2(int type, png_malloc_ptr malloc_fn) #ifdef PNG_USER_MEM_SUPPORTED if(malloc_fn != NULL) { - if ((struct_ptr = (*(malloc_fn))(NULL, size)) != NULL) + if (mem_ptr != NULL) + { + png_struct dummy_struct; + png_structp png_ptr = &dummy_struct; + png_ptr->mem_ptr=mem_ptr; + struct_ptr = (*(malloc_fn))(png_ptr, size); + } + else + struct_ptr = (*(malloc_fn))(NULL, size); + if (struct_ptr != NULL) png_memset(struct_ptr, 0, size); - return (struct_ptr); + return (struct_ptr); } #endif /* PNG_USER_MEM_SUPPORTED */ if ((struct_ptr = (png_voidp)farmalloc(size)) != NULL) @@ -66,12 +75,13 @@ void /* PRIVATE */ png_destroy_struct(png_voidp struct_ptr) { #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2(struct_ptr, (png_free_ptr)NULL); + png_destroy_struct_2(struct_ptr, (png_free_ptr)NULL, (png_voidp)NULL); } /* Free memory allocated by a png_create_struct() call */ void /* PRIVATE */ -png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn) +png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn, + png_voidp mem_ptr) { #endif if (struct_ptr != NULL) @@ -81,6 +91,7 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn) { png_struct dummy_struct; png_structp png_ptr = &dummy_struct; + png_ptr->mem_ptr=mem_ptr; (*(free_fn))(png_ptr, struct_ptr); return; } @@ -286,14 +297,14 @@ png_voidp /* PRIVATE */ png_create_struct(int type) { #ifdef PNG_USER_MEM_SUPPORTED - return (png_create_struct_2(type, NULL)); + return (png_create_struct_2(type, NULL, NULL)); } /* Allocate memory for a png_struct or a png_info. The malloc and memset can be replaced by a single call to calloc() if this is thought to improve performance noticably.*/ png_voidp /* PRIVATE */ -png_create_struct_2(int type, png_malloc_ptr malloc_fn) +png_create_struct_2(int type, png_malloc_ptr malloc_fn, png_voidp mem_ptr) { #endif /* PNG_USER_MEM_SUPPORTED */ png_size_t size; @@ -309,7 +320,16 @@ png_create_struct_2(int type, png_malloc_ptr malloc_fn) #ifdef PNG_USER_MEM_SUPPORTED if(malloc_fn != NULL) { - if ((struct_ptr = (*(malloc_fn))(NULL, size)) != NULL) + if (mem_ptr != NULL) + { + png_struct dummy_struct; + png_structp png_ptr = &dummy_struct; + png_ptr->mem_ptr=mem_ptr; + struct_ptr = (*(malloc_fn))(png_ptr, size); + } + else + struct_ptr = (*(malloc_fn))(NULL, size); + if (struct_ptr != NULL) png_memset(struct_ptr, 0, size); return (struct_ptr); } @@ -337,12 +357,13 @@ void /* PRIVATE */ png_destroy_struct(png_voidp struct_ptr) { #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2(struct_ptr, (png_free_ptr)NULL); + png_destroy_struct_2(struct_ptr, (png_free_ptr)NULL, (png_voidp)NULL); } /* Free memory allocated by a png_create_struct() call */ void /* PRIVATE */ -png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn) +png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn, + png_voidp mem_ptr) { #endif /* PNG_USER_MEM_SUPPORTED */ if (struct_ptr != NULL) @@ -352,6 +373,7 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn) { png_struct dummy_struct; png_structp png_ptr = &dummy_struct; + png_ptr->mem_ptr=mem_ptr; (*(free_fn))(png_ptr, struct_ptr); return; } diff --git a/pngpread.c b/pngpread.c index aaf6bd2d8..b91850fad 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngread.c b/pngread.c index 904e5f01c..c3d47e954 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -46,13 +46,14 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, png_debug(1, "in png_create_read_struct\n"); #ifdef PNG_USER_MEM_SUPPORTED if ((png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG, - (png_malloc_ptr)malloc_fn)) == NULL) + (png_malloc_ptr)malloc_fn, (png_voidp)mem_ptr)) == NULL) #else if ((png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG)) == NULL) #endif { return (png_structp)NULL; } + #ifdef PNG_ASSEMBLER_CODE_SUPPORTED png_init_mmx_flags(png_ptr); /* 1.2.0 addition */ #endif @@ -95,6 +96,7 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, * only check the first digit. */ if (user_png_ver == NULL || user_png_ver[0] != png_libpng_ver[0] || + (user_png_ver[0] == '1' && user_png_ver[2] != png_libpng_ver[2]) || (user_png_ver[0] == '0' && user_png_ver[2] < '9')) { png_error(png_ptr, @@ -102,15 +104,17 @@ png_create_read_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, } /* Libpng 1.0.6 was not binary compatible, due to insertion of the - info_ptr->free_me member. Note to maintainer: this test can be - removed from version 2.0.0 and beyond because the previous test - would have already rejected it. */ + info_ptr->free_me member. Libpng-1.0.1 and earlier were not + compatible due to insertion of the user transform function. Note + to maintainer: this test can be removed from version 1.2.0 and + beyond because the previous test would have already rejected it. */ - if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && - user_png_ver[0] == '1' && user_png_ver[5] == '\0') + if (user_png_ver[0] == '1' && user_png_ver[2] == '0' && + (user_png_ver[4] < '2' || user_png_ver[4] == '6') && + user_png_ver[5] == '\0') { png_error(png_ptr, - "Application must be recompiled; version 1.0.6 was incompatible"); + "Application must be recompiled; versions <= 1.0.6 were incompatible"); } } @@ -147,18 +151,42 @@ void PNGAPI png_read_init(png_structp png_ptr) { /* We only come here via pre-1.0.7-compiled applications */ - png_read_init_2(png_ptr, "1.0.0", 10000, 10000); + png_read_init_2(png_ptr, "1.0.0", 0, 0); } +#undef png_read_init_2 void PNGAPI png_read_init_2(png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size) +{ + /* We only come here via pre-1.0.12-compiled applications */ + if(sizeof(png_struct) > png_struct_size) + { + png_ptr->error_fn=(png_error_ptr)NULL; + png_error(png_ptr, + "The png struct allocated by the application for reading is too small."); + } + if(sizeof(png_info) > png_info_size) + { + png_ptr->error_fn=(png_error_ptr)NULL; + png_error(png_ptr, + "The info struct allocated by application for reading is too small."); + } + png_read_init_3(&png_ptr, user_png_ver, png_struct_size); +} + +void PNGAPI +png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver, + png_size_t png_struct_size) { #ifdef PNG_SETJMP_SUPPORTED jmp_buf tmp_jmp; /* to save current jump buffer */ #endif int i=0; + + png_structp png_ptr=*ptr_ptr; + do { if(user_png_ver[i] != png_libpng_ver[i]) @@ -166,35 +194,31 @@ png_read_init_2(png_structp png_ptr, png_const_charp user_png_ver, #ifdef PNG_LEGACY_SUPPORTED png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH; #else - png_ptr->error_fn=(png_error_ptr)NULL; - png_error(png_ptr, - "Application uses deprecated png_read_init() and must be recompiled."); + png_ptr->warning_fn=(png_error_ptr)NULL; + png_warning(png_ptr, + "Application uses deprecated png_read_init() and should be recompiled."); + break; #endif } } while (png_libpng_ver[i++]); - if(sizeof(png_struct) > png_struct_size || - sizeof(png_info) > png_info_size) - { - png_ptr->error_fn=(png_error_ptr)NULL; - png_error(png_ptr, - "Application and library have different sized structs. Please recompile."); - } - - png_debug(1, "in png_read_init_2\n"); + png_debug(1, "in png_read_init_3\n"); #ifdef PNG_SETJMP_SUPPORTED /* save jump buffer and error functions */ png_memcpy(tmp_jmp, png_ptr->jmpbuf, sizeof (jmp_buf)); #endif + if(sizeof(png_struct) > png_struct_size) + { + png_destroy_struct(png_ptr); + *ptr_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG); + png_ptr = *ptr_ptr; + } + /* reset all variables to 0 */ png_memset(png_ptr, 0, sizeof (png_struct)); -#ifdef PNG_ASSEMBLER_CODE_SUPPORTED - png_init_mmx_flags(png_ptr); /* 1.2.0 addition */ -#endif - #ifdef PNG_SETJMP_SUPPORTED /* restore jump buffer */ png_memcpy(png_ptr->jmpbuf, tmp_jmp, sizeof (jmp_buf)); @@ -722,7 +746,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row) * not called png_set_interlace_handling(), the display_row buffer will * be ignored, so pass NULL to it. * - * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0beta2 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0beta3 */ void PNGAPI @@ -771,7 +795,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row, * only call this function once. If you desire to have an image for * each pass of a interlaced image, use png_read_rows() instead. * - * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0beta2 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.0beta3 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) @@ -1001,6 +1025,7 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infop info_ptr = NULL, end_info_ptr = NULL; #ifdef PNG_USER_MEM_SUPPORTED png_free_ptr free_fn = NULL; + png_voidp mem_ptr = NULL; #endif png_debug(1, "in png_destroy_read_struct\n"); @@ -1016,6 +1041,7 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, #ifdef PNG_USER_MEM_SUPPORTED free_fn = png_ptr->free_fn; + mem_ptr = png_ptr->mem_ptr; #endif png_read_destroy(png_ptr, info_ptr, end_info_ptr); @@ -1027,7 +1053,8 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, #endif #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2((png_voidp)info_ptr, free_fn); + png_destroy_struct_2((png_voidp)info_ptr, (png_free_ptr)free_fn, + (png_voidp)mem_ptr); #else png_destroy_struct((png_voidp)info_ptr); #endif @@ -1040,7 +1067,8 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_free_data(png_ptr, end_info_ptr, PNG_FREE_TEXT, -1); #endif #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2((png_voidp)end_info_ptr, free_fn); + png_destroy_struct_2((png_voidp)end_info_ptr, (png_free_ptr)free_fn, + (png_voidp)mem_ptr); #else png_destroy_struct((png_voidp)end_info_ptr); #endif @@ -1050,7 +1078,8 @@ png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, if (png_ptr != NULL) { #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2((png_voidp)png_ptr, free_fn); + png_destroy_struct_2((png_voidp)png_ptr, (png_free_ptr)free_fn, + (png_voidp)mem_ptr); #else png_destroy_struct((png_voidp)png_ptr); #endif diff --git a/pngrio.c b/pngrio.c index d5ef36a3a..ff63c532d 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -26,7 +26,7 @@ void /* PRIVATE */ png_read_data(png_structp png_ptr, png_bytep data, png_size_t length) { - png_debug1(4,"reading %d bytes\n", length); + png_debug1(4,"reading %d bytes\n", (int)length); if (png_ptr->read_data_fn != NULL) (*(png_ptr->read_data_fn))(png_ptr, data, length); else diff --git a/pngrtran.c b/pngrtran.c index 929b5bbfe..055d73a8f 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrutil.c b/pngrutil.c index 6410c5468..04efe6402 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -339,7 +339,9 @@ png_handle_IHDR(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) png_ptr->bit_depth = (png_byte)bit_depth; png_ptr->interlaced = (png_byte)interlace_type; png_ptr->color_type = (png_byte)color_type; +#if defined(PNG_MNG_FEATURES_SUPPORTED) png_ptr->filter_type = (png_byte)filter_type; +#endif /* find number of channels */ switch (png_ptr->color_type) @@ -2966,7 +2968,9 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) png_error(png_ptr, "This image requires a row greater than 64KB"); #endif png_ptr->row_buf = (png_bytep)png_malloc(png_ptr, row_bytes); +#if defined(PNG_DEBUG) && defined(PNG_USE_PNGGCCRD) png_ptr->row_buf_size = row_bytes; +#endif #ifdef PNG_MAX_MALLOC_64K if ((png_uint_32)png_ptr->rowbytes + 1 > (png_uint_32)65536L) diff --git a/pngset.c b/pngset.c index 096d44c25..ea1c2bd7e 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -654,8 +654,9 @@ png_set_text(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr, textp->key = (png_charp)png_malloc(png_ptr, (png_uint_32)(key_len + text_length + lang_len + lang_key_len + 4)); - png_debug2(2, "Allocated %d bytes at %x in png_set_text\n", - key_len + lang_len + lang_key_len + text_length + 4, (int)textp->key); + png_debug2(2, "Allocated %lu bytes at %x in png_set_text\n", + (png_uint_32)(key_len + lang_len + lang_key_len + text_length + 4), + (int)textp->key); png_memcpy(textp->key, text_ptr[i].key, (png_size_t)(key_len)); diff --git a/pngtest.c b/pngtest.c index 0ddd544f0..aeaba9df3 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -710,14 +710,14 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) # endif #else png_set_read_fn(read_ptr, (png_voidp)fpin, pngtest_read_data); -#ifdef PNG_WRITE_SUPPORTED +# ifdef PNG_WRITE_SUPPORTED png_set_write_fn(write_ptr, (png_voidp)fpout, pngtest_write_data, -#if defined(PNG_WRITE_FLUSH_SUPPORTED) +# if defined(PNG_WRITE_FLUSH_SUPPORTED) pngtest_flush); -#else -#endif +# else NULL); -#endif +# endif +# endif #endif if(status_dots_requested == 1) { @@ -1511,4 +1511,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_0beta2 your_png_h_is_not_version_1_2_0beta2; +typedef version_1_2_0beta3 your_png_h_is_not_version_1_2_0beta3; diff --git a/pngtrans.c b/pngtrans.c index 12f6f237f..f418f2e89 100644 --- a/pngtrans.c +++ b/pngtrans.c @@ -1,7 +1,7 @@ /* pngtrans.c - transforms the data in a row (used by both readers and writers) * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngvcrd.c b/pngvcrd.c index fe9fe9f03..b3ae5df61 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngwio.c b/pngwio.c index 9ada920da..2215cb6f6 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwrite.c b/pngwrite.c index b1d6ec037..bcf9a54c8 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -444,7 +444,7 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, png_debug(1, "in png_create_write_struct\n"); #ifdef PNG_USER_MEM_SUPPORTED if ((png_ptr = (png_structp)png_create_struct_2(PNG_STRUCT_PNG, - (png_malloc_ptr)malloc_fn)) == NULL) + (png_malloc_ptr)malloc_fn, (png_voidp)mem_ptr)) == NULL) #else if ((png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG)) == NULL) #endif /* PNG_USER_MEM_SUPPORTED */ @@ -493,6 +493,7 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, * only check the first digit. */ if (user_png_ver == NULL || user_png_ver[0] != png_libpng_ver[0] || + (user_png_ver[0] == '1' && user_png_ver[2] != png_libpng_ver[2]) || (user_png_ver[0] == '0' && user_png_ver[2] < '9')) { png_error(png_ptr, @@ -500,15 +501,17 @@ png_create_write_struct_2(png_const_charp user_png_ver, png_voidp error_ptr, } /* Libpng 1.0.6 was not binary compatible, due to insertion of the - info_ptr->free_me member. Note to maintainer: this test can be - removed from version 2.0.0 and beyond because the previous test - would have already rejected it. */ + info_ptr->free_me member. Libpng-1.0.1 and earlier were not + compatible due to insertion of the user transform function. Note + to maintainer: this test can be removed from version 1.2.0 and + beyond because the previous test would have already rejected it. */ - if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && - user_png_ver[0] == '1' && user_png_ver[5] == '\0') + if (user_png_ver[0] == '1' && user_png_ver[2] == '0' && + (user_png_ver[4] < '2' || user_png_ver[4] == '6') && + user_png_ver[5] == '\0') { png_error(png_ptr, - "Application must be recompiled; version 1.0.6 was incompatible"); + "Application must be recompiled; versions <= 1.0.6 were incompatible"); } } @@ -533,13 +536,36 @@ void PNGAPI png_write_init(png_structp png_ptr) { /* We only come here via pre-1.0.7-compiled applications */ - png_write_init_2(png_ptr, "1.0.0", 10000, 10000); + png_write_init_2(png_ptr, "1.0.0", 0, 0); } +#undef png_write_init_2 void PNGAPI png_write_init_2(png_structp png_ptr, png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t png_info_size) { + /* We only come here via pre-1.0.12-compiled applications */ + if(sizeof(png_struct) > png_struct_size) + { + png_ptr->error_fn=(png_error_ptr)NULL; + png_error(png_ptr, + "The png struct allocated by the application is too small."); + } + if(sizeof(png_info) > png_info_size) + { + png_ptr->error_fn=(png_error_ptr)NULL; + png_error(png_ptr, + "The info struct allocated by the application is too small."); + } + png_write_init_3(&png_ptr, user_png_ver, png_struct_size); +} + + +void PNGAPI +png_write_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver, + png_size_t png_struct_size) +{ + png_structp png_ptr=*ptr_ptr; #ifdef PNG_SETJMP_SUPPORTED jmp_buf tmp_jmp; /* to save current jump buffer */ #endif @@ -551,28 +577,28 @@ png_write_init_2(png_structp png_ptr, png_const_charp user_png_ver, #ifdef PNG_LEGACY_SUPPORTED png_ptr->flags |= PNG_FLAG_LIBRARY_MISMATCH; #else - png_ptr->error_fn=(png_error_ptr)NULL; - png_error(png_ptr, - "Application uses deprecated png_write_init() and must be recompiled."); + png_ptr->warning_fn=(png_error_ptr)NULL; + png_warning(png_ptr, + "Application uses deprecated png_write_init() and should be recompiled."); + break; #endif } } while (png_libpng_ver[i++]); - if (sizeof(png_struct) > png_struct_size || - sizeof(png_info) > png_info_size) - { - png_ptr->error_fn=(png_error_ptr)NULL; - png_error(png_ptr, - "Application and library have different sized structs. Please recompile."); - } - - png_debug(1, "in png_write_init_2\n"); + png_debug(1, "in png_write_init_3\n"); #ifdef PNG_SETJMP_SUPPORTED /* save jump buffer and error functions */ png_memcpy(tmp_jmp, png_ptr->jmpbuf, sizeof (jmp_buf)); #endif + if (sizeof(png_struct) > png_struct_size) + { + png_destroy_struct(png_ptr); + png_ptr = (png_structp)png_create_struct(PNG_STRUCT_PNG); + *ptr_ptr = png_ptr; + } + /* reset all variables to 0 */ png_memset(png_ptr, 0, sizeof (png_struct)); @@ -585,11 +611,12 @@ png_write_init_2(png_structp png_ptr, png_const_charp user_png_ver, png_memcpy(png_ptr->jmpbuf, tmp_jmp, sizeof (jmp_buf)); #endif + png_set_write_fn(png_ptr, NULL, NULL, NULL); + /* initialize zbuf - compression buffer */ png_ptr->zbuf_size = PNG_ZBUF_SIZE; png_ptr->zbuf = (png_bytep)png_malloc(png_ptr, (png_uint_32)png_ptr->zbuf_size); - png_set_write_fn(png_ptr, NULL, NULL, NULL); #if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) png_set_filter_heuristics(png_ptr, PNG_FILTER_HEURISTIC_DEFAULT, @@ -884,6 +911,7 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr) png_infop info_ptr = NULL; #ifdef PNG_USER_MEM_SUPPORTED png_free_ptr free_fn = NULL; + png_voidp mem_ptr = NULL; #endif png_debug(1, "in png_destroy_write_struct\n"); @@ -912,7 +940,8 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr) #endif #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2((png_voidp)info_ptr, free_fn); + png_destroy_struct_2((png_voidp)info_ptr, (png_free_ptr)free_fn, + (png_voidp)mem_ptr); #else png_destroy_struct((png_voidp)info_ptr); #endif @@ -923,7 +952,8 @@ png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp info_ptr_ptr) { png_write_destroy(png_ptr); #ifdef PNG_USER_MEM_SUPPORTED - png_destroy_struct_2((png_voidp)png_ptr, free_fn); + png_destroy_struct_2((png_voidp)png_ptr, (png_free_ptr)free_fn, + (png_voidp)mem_ptr); #else png_destroy_struct((png_voidp)png_ptr); #endif diff --git a/pngwtran.c b/pngwtran.c index 64ec76590..8ecdc8d45 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,7 +1,7 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwutil.c b/pngwutil.c index da3107999..aff1fffd1 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng 1.2.0beta2 - May 7, 2001 + * libpng 1.2.0beta3 - May 18, 2001 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2001 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -460,7 +460,9 @@ png_write_IHDR(png_structp png_ptr, png_uint_32 width, png_uint_32 height, png_ptr->bit_depth = (png_byte)bit_depth; png_ptr->color_type = (png_byte)color_type; png_ptr->interlaced = (png_byte)interlace_type; +#if defined(PNG_MNG_FEATURES_SUPPORTED) png_ptr->filter_type = (png_byte)filter_type; +#endif png_ptr->width = width; png_ptr->height = height; @@ -1422,9 +1424,9 @@ png_write_pCAL(png_structp png_ptr, png_charp purpose, png_int_32 X0, png_warning(png_ptr, "Unrecognized equation type for pCAL chunk"); purpose_len = png_check_keyword(png_ptr, purpose, &new_purpose) + 1; - png_debug1(3, "pCAL purpose length = %d\n", purpose_len); + png_debug1(3, "pCAL purpose length = %d\n", (int)purpose_len); units_len = png_strlen(units) + (nparams == 0 ? 0 : 1); - png_debug1(3, "pCAL units length = %d\n", units_len); + png_debug1(3, "pCAL units length = %d\n", (int)units_len); total_len = purpose_len + units_len + 10; params_len = (png_uint_32p)png_malloc(png_ptr, (png_uint_32)(nparams @@ -1439,7 +1441,7 @@ png_write_pCAL(png_structp png_ptr, png_charp purpose, png_int_32 X0, total_len += (png_size_t)params_len[i]; } - png_debug1(3, "pCAL total length = %d\n", total_len); + png_debug1(3, "pCAL total length = %d\n", (int)total_len); png_write_chunk_start(png_ptr, (png_bytep)png_pCAL, (png_uint_32)total_len); png_write_chunk_data(png_ptr, (png_bytep)new_purpose, purpose_len); png_save_int_32(buf, X0); @@ -1491,7 +1493,7 @@ png_write_sCAL(png_structp png_ptr, int unit, double width,double height) #endif total_len = 1 + png_strlen(wbuf)+1 + png_strlen(hbuf); - png_debug1(3, "sCAL total length = %d\n", total_len); + png_debug1(3, "sCAL total length = %d\n", (int)total_len); png_write_chunk_start(png_ptr, (png_bytep)png_sCAL, (png_uint_32)total_len); png_write_chunk_data(png_ptr, (png_bytep)&unit, 1); png_write_chunk_data(png_ptr, (png_bytep)wbuf, png_strlen(wbuf)+1); diff --git a/projects/msvc/README.txt b/projects/msvc/README.txt index c7438515c..aa216ed5a 100644 --- a/projects/msvc/README.txt +++ b/projects/msvc/README.txt @@ -1,5 +1,5 @@ Microsoft Developer Studio Build File, Format Version 6.00 for -libpng 1.2.0beta2 (May 7, 2001) and zlib +libpng 1.2.0beta3 (May 18, 2001) and zlib Copyright (C) 2000 Simon-Pierre Cadieux For conditions of distribution and use, see copyright notice in png.h @@ -24,12 +24,12 @@ To build: This project will build the PNG Development Group's "official" versions of libpng and zlib libraries: - libpng2.dll (default version, currently C code only) - libpng2.dll (C + Assembler version) - libpng2.dll (C + Assembler debug version) - libpng2.dll (C code debug version) - libpng2[c,e-m].dll (reserved for official versions) - libpng2[n-z].dll (available for private versions) + libpng3.dll (default version, currently C code only) + libpng3.dll (C + Assembler version) + libpng3.dll (C + Assembler debug version) + libpng3.dll (C code debug version) + libpng3[c,e-m].dll (reserved for official versions) + libpng3[n-z].dll (available for private versions) zlib.dll (default version, currently C code only) zlibd.dll (debug version) diff --git a/projects/msvc/libpng.dsp b/projects/msvc/libpng.dsp index 82f66dbaf..779aea790 100644 --- a/projects/msvc/libpng.dsp +++ b/projects/msvc/libpng.dsp @@ -56,7 +56,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /dll /machine:I386 -# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng2.dll" +# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll\libpng3.dll" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "libpng - Win32 DLL Debug" @@ -84,7 +84,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbg\libpng2d.dll" +# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbg\libpng3d.dll" !ELSEIF "$(CFG)" == "libpng - Win32 DLL ASM" @@ -111,7 +111,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /dll /machine:I386 -# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_asm\libpng2a.dll" +# ADD LINK32 /nologo /dll /machine:I386 /out:".\win32\libpng\dll_asm\libpng3a.dll" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "libpng - Win32 DLL Debug ASM" @@ -139,7 +139,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbga\libpng2b.dll" +# ADD LINK32 /nologo /dll /debug /machine:I386 /out:".\win32\libpng\dll_dbga\libpng3b.dll" !ELSEIF "$(CFG)" == "libpng - Win32 LIB" diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def index 2184d9ce4..5af3b2974 100644 --- a/projects/msvc/png32ms.def +++ b/projects/msvc/png32ms.def @@ -6,7 +6,7 @@ LIBRARY DESCRIPTION "PNG image compression library for Windows" EXPORTS -;Version 1.2.0beta2 +;Version 1.2.0beta3 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 @@ -175,6 +175,7 @@ EXPORTS png_write_png @163 png_write_row @164 png_write_rows @165 +; png_read_init_2 and png_write_init_2 are deprecated. png_read_init_2 @166 png_write_init_2 @167 png_access_version_number @168 @@ -183,14 +184,30 @@ EXPORTS png_init_io @171 png_convert_to_rfc1123 @172 png_set_invalid @173 +; Added at version 1.0.12 +; For compatiblity with 1.0.7-1.0.11 + png_info_init @174 + png_read_init_3 @175 + png_write_init_3 @176 + png_info_init_3 @177 + png_destroy_struct @178 ; Added at version 1.2.0 - png_permit_mng_features @174 - png_mmx_support @175 - png_get_mmx_flagmask @176 - png_get_asm_flagmask @177 - png_get_asm_flags @178 - png_get_mmx_bitdepth_threshold @179 - png_get_mmx_rowbytes_threshold @180 - png_set_asm_flags @181 - png_init_mmx_flags @182 - png_set_strip_error_numbers @183 +; For use with PNG_USER_MEM_SUPPORTED + png_destroy_struct_2 @179 + png_create_read_struct_2 @180 + png_create_write_struct_2 @181 + png_malloc_default @182 + png_free_default @183 +; MNG features + png_permit_mng_features @184 +; MMX support + png_mmx_support @185 + png_get_mmx_flagmask @186 + png_get_asm_flagmask @187 + png_get_asm_flags @188 + png_get_mmx_bitdepth_threshold @189 + png_get_mmx_rowbytes_threshold @190 + png_set_asm_flags @191 + png_init_mmx_flags @192 +; Strip error numbers + png_set_strip_error_numbers @193 diff --git a/projects/wince/READMEE.WCE b/projects/wince/READMEE.WCE index e048b8035..7cfda9544 100644 --- a/projects/wince/READMEE.WCE +++ b/projects/wince/READMEE.WCE @@ -8,9 +8,9 @@ libpng for WindowsCE Rel.1.0 Introduction ============ -This is libpng 1.2.0beta2 ported to WindowsCE 2.0 and 2.11. -libpng 1.2.0beta2 is a PNG reference library. -See README, a document of original libpng 1.2.0beta2. +This is libpng 1.2.0beta3 ported to WindowsCE 2.0 and 2.11. +libpng 1.2.0beta3 is a PNG reference library. +See README, a document of original libpng 1.2.0beta3. zlib for WindowsCE ================== @@ -23,7 +23,7 @@ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. -See README and LICENSE, documents of original libpng 1.2.0beta2, for conditions +See README and LICENSE, documents of original libpng 1.2.0beta3, for conditions of use and distribution. Files diff --git a/projects/wince/READMEJ.WCE b/projects/wince/READMEJ.WCE index acb486878..b950dadd8 100644 --- a/projects/wince/READMEJ.WCE +++ b/projects/wince/READMEJ.WCE @@ -24,7 +24,7 @@ libpng になったいかなる被害についても、作者、配布者、その他利用者以外の人物、 団体に責任をとる義務はないものとします。 -その他、このソフトウェアの利用条件については、原版である libpng 1.2.0beta2に +その他、このソフトウェアの利用条件については、原版である libpng 1.2.0beta3に 準拠するものとします。詳しくは、付属の README,LICENSE をお読みください。 収録内容 diff --git a/projects/wince/png32ce.def b/projects/wince/png32ce.def index b2af1031b..a03b098d4 100644 --- a/projects/wince/png32ce.def +++ b/projects/wince/png32ce.def @@ -5,7 +5,7 @@ LIBRARY lpngce EXPORTS -;Version 1.2.0beta2 +;Version 1.2.0beta3 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3 @@ -173,22 +173,39 @@ EXPORTS png_write_png @163 png_write_row @164 png_write_rows @165 +; png_read_init_2 and png_write_init_2 are deprecated. png_read_init_2 @166 png_write_init_2 @167 png_access_version_number @168 ; png_sig_bytes @169 - png_libpng_ver @170 +; png_libpng_ver @170 png_init_io @171 png_convert_to_rfc1123 @172 png_set_invalid @173 +; Added at version 1.0.12 +; For compatiblity with 1.0.7-1.0.11 + png_info_init @174 + png_read_init_3 @175 + png_write_init_3 @176 + png_info_init_3 @177 + png_destroy_struct @178 ; Added at version 1.2.0 - png_permit_mng_features @174 - png_mmx_support @175 - png_get_mmx_flagmask @176 - png_get_asm_flagmask @177 - png_get_asm_flags @178 - png_get_mmx_bitdepth_threshold @179 - png_get_mmx_rowbytes_threshold @180 - png_set_asm_flags @181 - png_init_mmx_flags @182 - png_set_strip_error_numbers @183 +; For use with PNG_USER_MEM_SUPPORTED + png_destroy_struct_2 @179 + png_create_read_struct_2 @180 + png_create_write_struct_2 @181 + png_malloc_default @182 + png_free_default @183 +; MNG features + png_permit_mng_features @184 +; MMX support + png_mmx_support @185 + png_get_mmx_flagmask @186 + png_get_asm_flagmask @187 + png_get_asm_flags @188 + png_get_mmx_bitdepth_threshold @189 + png_get_mmx_rowbytes_threshold @190 + png_set_asm_flags @191 + png_init_mmx_flags @192 +; Strip error numbers + png_set_strip_error_numbers @193 diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 354b4f41c..d4743d2eb 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -15,10 +15,10 @@ AR = ar rcs RANLIB = ranlib RM = rm -f -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index c8c691174..277a8d3a3 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -10,10 +10,10 @@ CC=gcc ZLIBLIB=/usr/local/lib ZLIBINC=/usr/local/include -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) ALIGN= diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 346c245e9..3bff4021e 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -35,12 +35,12 @@ WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \ -fomit-frame-pointer -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -#PNGDLL = $2# msvc -PNGDLL = 2# cygwin 1.2.0beta2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +#PNGDLL = $3# msvc +PNGDLL = 2# cygwin 1.2.0beta3 +PNGMIN = 1.2.0beta3 PNGMIN_BASE = 1.2.0 PNGVER = $(PNGMAJ).$(PNGMIN) diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 5a8b3d647..8219b706c 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -14,10 +14,10 @@ LIBPATH=$(prefix)/lib ZLIBLIB=../zlib ZLIBINC=../zlib -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) CC=cc diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 24cbb8b5e..2981077bf 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -48,10 +48,10 @@ LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm RANLIB=ranlib #RANLIB=echo -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index da0ab06ab..e0bff8240 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -31,10 +31,10 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm RANLIB=ranlib #RANLIB=echo -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index ef0eb4afe..22604482e 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -16,10 +16,10 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm RANLIB=ranlib -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) # where make install puts libpng.a and png.h diff --git a/scripts/makefile.linux b/scripts/makefile.linux index c22696e6c..367ace39f 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -31,10 +31,10 @@ LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm RANLIB=ranlib #RANLIB=echo -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index e6cd673d7..070e53493 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -10,8 +10,8 @@ MANDIR= ${LOCALBASE}/man INCSDIR=${LOCALBASE}/include LIB=png -SHLIB_MAJOR= 2 -SHLIB_MINOR= 1.2.0beta2 +SHLIB_MAJOR= 3 +SHLIB_MINOR= 1.2.0beta3 SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.sco b/scripts/makefile.sco index ca963557e..2a8694816 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -22,10 +22,10 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm #RANLIB=ranlib RANLIB=echo -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 4aa7e990e..1ffa9075b 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -19,8 +19,8 @@ CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm LDSHARED=gcc -shared -VER=1.2.0beta2 -LIBS=libpng.so.1.2.0beta2 +VER=1.2.0beta3 +LIBS=libpng.so.1.2.0beta3 SHAREDLIB=libpng.so libdir=$(prefix)/lib32 diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 946b9f791..d77d74bfd 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -25,7 +25,7 @@ CFLAGS=-I$(ZLIBINC) -O $(WARNMORE) -DPNG_USE_PNGGCCRD -DPNG_NO_ASSEMBLER_CODE LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm LDSHARED=cc -shared -VER=1.2.0beta2 +VER=1.2.0beta3 SONUM=2 SHAREDLIB=libpng.so libdir=$(prefix) diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index fa03087ba..88efeeb93 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -28,10 +28,10 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng -lz -lm #RANLIB=ranlib RANLIB=echo -# read libpng.txt or png.h to see why PNGMAJ is 2. You should not +# read libpng.txt or png.h to see why PNGMAJ is 3. You should not # have to change it. -PNGMAJ = 2 -PNGMIN = 1.2.0beta2 +PNGMAJ = 3 +PNGMIN = 1.2.0beta3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas index 22d0ba1ff..65f637655 100644 --- a/scripts/pngdef.pas +++ b/scripts/pngdef.pas @@ -7,7 +7,7 @@ unit pngdef; interface const - PNG_LIBPNG_VER_STRING = '1.2.0beta2'; + PNG_LIBPNG_VER_STRING = '1.2.0beta3'; PNG_LIBPNG_VER = 10200; type diff --git a/scripts/pngos2.def b/scripts/pngos2.def index ca8ce665d..62b3908d3 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.0beta2 +; Version 1.2.0beta3 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2"