Imported from libpng-1.2.0beta3.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 276d900..dcc3d4c 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 @@
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 57a62b3..1129ac4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -931,18 +931,28 @@
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 2c96560..7a85fb4 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 @@
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 @@
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 @@
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 7a5059b..403e626 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,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 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 @@
Glenn Randers-Pehrson
randeg@alum.rpi.edu
-May 7, 2001
+May 18, 2001
diff --git a/README b/README
index e510816..36a8109 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 @@
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 @@
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 bcc0a78..3a99152 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 9d76b68..fb63cb9 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 ba39487..01c1dcf 100644
--- a/contrib/msvctest/msvctest.dsp
+++ b/contrib/msvctest/msvctest.dsp
@@ -54,7 +54,7 @@
# 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 @@
# 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 @@
# 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 @@
# 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 a88346f..3fbac02 100644
--- a/contrib/visupng/VisualPng.dsp
+++ b/contrib/visupng/VisualPng.dsp
@@ -59,8 +59,8 @@
# 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 @@
# 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 @@
# 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 @@
# 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 1e546c3..483a635 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 @@
\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 @@
\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 @@
\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 @@
\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 @@
.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
<randeg@alum.rpi.edu>
Copyright (c) 1998-2001 Glenn Randers-Pehrson
@@ -3559,7 +3565,7 @@
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 @@
.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 @@
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 @@
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 @@
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 @@
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 f40801e..2296b3a 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
<randeg@alum.rpi.edu>
Copyright (c) 1998-2001 Glenn Randers-Pehrson
@@ -2778,7 +2778,7 @@
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 @@
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 f365fbd..79113a2 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 <png.h>\fP
@@ -47,11 +47,11 @@
\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 @@
\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 @@
\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 @@
.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 5c8912a..9f55072 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 de44a55..5f3a69c 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 @@
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_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 @@
* 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 @@
}
#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_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 @@
{
/* 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_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_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 a40ccfc..d7d01fe 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 @@
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 @@
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 @@
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 @@
/* 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(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 @@
/* 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 @@
* (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 @@
* (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 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 df884dc..1fd396e 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 bcac877..27c65c7 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 ea2c3a7..61f2fbc 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 242e69f..2377dc1 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 @@
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 b7c3c24..c590985 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 bff23d7..9a065a1 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_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 @@
#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 @@
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_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_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 @@
#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 @@
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_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 aaf6bd2..b91850f 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 904e5f0..c3d47e9 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_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 @@
* 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 @@
}
/* 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 @@
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 @@
#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 @@
* 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 @@
* 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_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 @@
#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 @@
#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_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 @@
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 d5ef36a..ff63c53 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 929b5bb..055d73a 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 6410c54..04efe64 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_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 @@
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 096d44c..ea1c2bd 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 @@
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 0ddd544..aeaba9d 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 @@
# 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 @@
}
/* 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 12f6f23..f418f2e 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 fe9fe9f..b3ae5df 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 9ada920..2215cb6 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 b1d6ec0..bcf9a54 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_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 @@
* 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 @@
}
/* 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 @@
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 @@
#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_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_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 @@
#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_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 64ec765..8ecdc8d 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 da31079..aff1fff 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_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_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 @@
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 @@
#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 c743851..aa216ed 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 @@
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 82f66db..779aea7 100644
--- a/projects/msvc/libpng.dsp
+++ b/projects/msvc/libpng.dsp
@@ -56,7 +56,7 @@
# 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 @@
# 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 @@
# 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 @@
# 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 2184d9c..5af3b29 100644
--- a/projects/msvc/png32ms.def
+++ b/projects/msvc/png32ms.def
@@ -6,7 +6,7 @@
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 @@
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 @@
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 e048b80..7cfda95 100644
--- a/projects/wince/READMEE.WCE
+++ b/projects/wince/READMEE.WCE
@@ -8,9 +8,9 @@
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 @@
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 acb4868..b950dad 100644
--- a/projects/wince/READMEJ.WCE
+++ b/projects/wince/READMEJ.WCE
@@ -24,7 +24,7 @@
ÉÈÁ½¢©ÈéíQÉ¢ÄàAìÒAzzÒA»Ì¼pÒÈOÌl¨A
cÌÉÓCðÆé`±ÍÈ¢àÌƵܷB
-»Ì¼A±Ì\tgEFAÌpðÉ¢ÄÍA´ÅÅ é libpng 1.2.0beta2É
+»Ì¼A±Ì\tgEFAÌpðÉ¢ÄÍA´ÅÅ é libpng 1.2.0beta3É
·éàÌƵܷBÚµÍAt®Ì README,LICENSE ð¨Çݾ³¢B
û^àe
diff --git a/projects/wince/png32ce.def b/projects/wince/png32ce.def
index b2af103..a03b098 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 @@
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 354b4f4..d4743d2 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -15,10 +15,10 @@
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 c8c6911..277a8d3 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -10,10 +10,10 @@
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 346c245..3bff402 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -35,12 +35,12 @@
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 5a8b3d6..8219b70 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -14,10 +14,10 @@
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 24cbb8b..2981077 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -48,10 +48,10 @@
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 da0ab06..e0bff82 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -31,10 +31,10 @@
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 ef0eb4a..2260448 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -16,10 +16,10 @@
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 c22696e..367ace3 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -31,10 +31,10 @@
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 e6cd673..070e534 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -10,8 +10,8 @@
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 ca96355..2a86948 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -22,10 +22,10 @@
#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 4aa7e99..1ffa907 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -19,8 +19,8 @@
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 946b9f7..d77d74b 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -25,7 +25,7 @@
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 fa03087..88efeeb 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -28,10 +28,10 @@
#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 22d0ba1..65f6376 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -7,7 +7,7 @@
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 ca8ce66..62b3908 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"