Compare commits

...

6 Commits

Author SHA1 Message Date
Glenn Randers-Pehrson
64b481e714 [libpng10] Imported from libpng-1.0.21.tar 2011-09-03 12:23:41 -05:00
Glenn Randers-Pehrson
0f5e1e5a39 [libpng10] Imported from libpng-1.0.21rc2.tar 2011-09-03 12:23:38 -05:00
Glenn Randers-Pehrson
6fbb54d253 [libpng10] Imported from libpng-1.0.21rc1.tar 2011-09-03 12:23:36 -05:00
Glenn Randers-Pehrson
fba872492b [libpng10] Imported from libpng-1.0.20.tar 2011-09-03 12:23:33 -05:00
Glenn Randers-Pehrson
82282113b9 [libpng10] Imported from libpng-1.0.19.tar 2011-09-03 12:23:31 -05:00
Glenn Randers-Pehrson
a095d92224 [libpng10] Imported from libpng-1.0.19rc5.tar 2011-09-03 12:23:28 -05:00
57 changed files with 322 additions and 281 deletions

View File

@@ -1,74 +1,52 @@
Libpng 1.0.19rc2 - June 14, 2006
Libpng 1.0.21 - November 15, 2006
This is not intended to be a public release. It will be replaced
within a few weeks by a public version or by another test version.
This is a public release of libpng, intended for use in production codes.
Files available for download:
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
libpng-1.0.19rc2.tar.gz
libpng-1.0.19rc2.tar.bz2
libpng-1.0.21.tar.gz
libpng-1.0.21.tar.bz2
Source files with LF line endings (for Unix/Linux) without the
"configure" script
libpng-1.0.19rc2-no-config.tar.gz
libpng-1.0.19rc2-no-config.tar.bz2
libpng-1.0.21-no-config.tar.gz
libpng-1.0.21-no-config.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
lp1019r02.zip
lp1019r02.tar.bz2
lpng1021.zip
lpng1021.tar.bz2
Project files
libpng-1.0.19rc2-project-netware.zip
libpng-1.0.19rc2-project-wince.zip
libpng-1.0.21-project-netware.zip
libpng-1.0.21-project-wince.zip
Other information:
libpng-1.0.19rc2-README.txt
libpng-1.0.19rc2-KNOWNBUGS.txt
libpng-1.0.19rc2-LICENSE.txt
libpng-1.0.19rc2-Y2K-compliance.txt
libpng-1.0.21-README.txt
libpng-1.0.21-KNOWNBUGS.txt
libpng-1.0.21-LICENSE.txt
libpng-1.0.21-Y2K-compliance.txt
Changes since the last public release (1.0.18):
Changes since the last public release (1.0.20):
version 1.2.11beta1 [May 31, 2006]
scripts/libpng.pc.in contained "configure" style version info and would
not work with makefiles.
The shared-library makefiles were linking to libpng.so.0 instead of
libpng.so.3 compatibility as the library.
version 1.0.21 [November 15, 2006]
version 1.2.11beta2 [June 2, 2006]
Increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
buffer overflow.
Fixed bug in example.c (png_set_palette_rgb -> png_set_palette_to_rgb)
version 1.2.11beta3 [June 5, 2006]
Prepended "#! /bin/sh" to ltmail.sh and contrib/pngminus/*.sh (Cosmin).
Removed the accidental leftover Makefile.in~ (Cosmin).
Avoided potential buffer overflow and optimized buffer in
png_write_sCAL(), png_write_sCAL_s() (Cosmin).
Removed the include directories and libraries from CFLAGS and LDFLAGS
in scripts/makefile.gcc (Nelson A. de Oliveira, Cosmin).
version 1.2.11beta4 [June 6, 2006]
Allow zero-length IDAT chunks after the entire zlib datastream, but not
after another intervening chunk type.
version 1.2.11rc1 [June 14, 2006]
Deleted extraneous square brackets from [config.h] in configure.ac
version 1.2.11rc2 [June 14, 2006]
Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
Revised INSTALL and autogen.sh
Fixed typo in several makefiles (-W1 should be -Wl)
Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
version 1.0.21 and 1.2.13 [November 15, 2006]
Removed AC_FUNC_MALLOC from configure.ac
Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
Change "logical" to "bitwise" throughout documentation.
Fix Makefile.am to not try to link to noexistent files.
Detect and fix attempt to write wrong iCCP profile length.
Fix potential buffer overflow in sPLT chunk handler.
Check all exported functions for NULL png_ptr.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit

35
CHANGES
View File

@@ -1469,7 +1469,7 @@ version 1.2.9beta5 [March 4, 2006]
Restored scripts/makefile.elf which was inadvertently deleted.
version 1.2.9beta6 [March 6, 2006]
Fixed typo (19) in configuration files.
Fixed typo (21) in configuration files.
version 1.2.9beta7 [March 7, 2006]
Removed libpng.vers and libpng.sym from libpng12_la_SOURCES in Makefile.am
@@ -1577,15 +1577,44 @@ version 1.2.11beta4 [June 6, 2006]
Allow zero-length IDAT chunks after the entire zlib datastream, but not
after another intervening chunk type.
version 1.2.11rc1 [June 13, 2006]
version 1.0.19rc1, 1.2.11rc1 [June 13, 2006]
Deleted extraneous square brackets from [config.h] in configure.ac
version 1.2.11rc2 [June 14, 2006]
version 1.0.19rc2, 1.2.11rc2 [June 14, 2006]
Added prototypes for PNG_INCH_CONVERSIONS functions to png.h
Revised INSTALL and autogen.sh
Fixed typo in several makefiles (-W1 should be -Wl)
Added typedef for png_int_32 and png_uint_32 on 64-bit systems.
version 1.0.19rc3, 1.2.11rc3 [June 15, 2006]
Removed the new typedefs for 64-bit systems (delay until version 1.4.0)
Added one zero element to png_gamma_shift[] array in pngrtran.c to avoid
reading out of bounds.
version 1.0.19rc4, 1.2.11rc4 [June 15, 2006]
Really removed the new typedefs for 64-bit systems.
version 1.0.19rc5, 1.2.11rc5 [June 22, 2006]
Removed png_sig_bytes entry from scripts/pngw32.def
version 1.0.19, 1.2.11 [June 26, 2006]
None.
version 1.0.20, 1.2.12 [June 27, 2006]
Really increased sprintf buffer from 50 to 52 chars in pngrutil.c to avoid
buffer overflow.
version 1.2.13beta1 [October 2, 2006]
Removed AC_FUNC_MALLOC from configure.ac
Work around Intel-Mac compiler bug by setting PNG_NO_MMX_CODE in pngconf.h
Change "logical" to "bitwise" throughout documentation.
Detect and fix attempt to write wrong iCCP profile length.
version 1.0.21, 1.2.13 [November 15, 2006]
Fix potential buffer overflow in sPLT chunk handler.
Fix Makefile.am to not try to link to noexistent files.
Check all exported functions for NULL png_ptr.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement

16
INSTALL
View File

@@ -1,5 +1,5 @@
Installing libpng version 1.0.19rc2 - June 14, 2006
Installing libpng version 1.0.21 - November 15, 2006
On Unix/Linux and similar systems, you can simply type
@@ -37,7 +37,7 @@ to have access to the 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.0.19rc2" or "lpng109" and "zlib-1.2.1"
might be called "libpng-1.0.21" or "lpng109" and "zlib-1.2.1"
or "zlib121") so that you have directories called "zlib" and "libpng".
Your directory structure should look like this:
@@ -93,11 +93,11 @@ include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
gcc, creates libpng10.so.0.1.0.19rc2)
gcc, creates libpng10.so.0.1.0.21)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng10.so.0.1.0.19rc2)
(gcc, creates libpng10.so.0.1.0.21)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng10.so.0.1.0.19rc2,
(gcc, creates libpng10.so.0.1.0.21,
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
@@ -120,12 +120,12 @@ include
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.sggcc => Silicon Graphics (gcc,
creates libpng10.so.0.1.0.19rc2)
creates libpng10.so.0.1.0.21)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng10.so.0.1.0.19rc2)
creates libpng10.so.0.1.0.21)
makefile.so9 => Solaris 9 makefile (gcc,
creates libpng10.so.0.1.0.19rc2)
creates libpng10.so.0.1.0.21)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc

View File

@@ -1,5 +1,5 @@
Known bugs in libpng version 1.0.19rc2
Known bugs in libpng version 1.0.21
1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
reading interlaced PNG files, when assembler code is enabled but running

View File

@@ -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.2.6, August 15, 2004, through 1.0.19rc2, June 14, 2006, are
libpng versions 1.2.6, August 15, 2004, through 1.0.21, November 15, 2006, are
Copyright (c) 2004, 2006 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -106,4 +106,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
June 14, 2006
November 15, 2006

View File

@@ -45,7 +45,7 @@ libpng10_la_LDFLAGS = -no-undefined -export-dynamic \
-version-number 0:@PNGLIB_MINOR@:0
# -rpath is needed as automake doesn't know the directory
libpng_la_LDFLAGS = -rpath '$(libdir)' -no-undefined -export-dynamic \
-version-number 3:@PNGLIB_MINOR@:0
-version-number 2:@PNGLIB_MINOR@:0
if HAVE_LD_VERSION_SCRIPT
# Versioned symbols and restricted exports
@@ -125,7 +125,9 @@ install-exec-hook:
cd $(DESTDIR)$(libdir);\
for ext in a la so; do\
rm -f libpng.$$ext;\
$(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\
if test -f $(PNGLIB_BASENAME).$$ext; then\
$(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\
fi;\
done
uninstall-hook:

View File

@@ -291,7 +291,7 @@ libpng10_la_LDFLAGS = -no-undefined -export-dynamic -version-number \
0:@PNGLIB_MINOR@:0 $(am__append_1) $(am__append_2)
# -rpath is needed as automake doesn't know the directory
libpng_la_LDFLAGS = -rpath '$(libdir)' -no-undefined -export-dynamic \
-version-number 3:@PNGLIB_MINOR@:0
-version-number 2:@PNGLIB_MINOR@:0
@HAVE_LD_VERSION_SCRIPT_FALSE@libpng10_la_DEPENDENCIES = libpng.sym
@HAVE_LD_VERSION_SCRIPT_TRUE@libpng10_la_DEPENDENCIES = libpng.vers

14
README
View File

@@ -1,4 +1,4 @@
README for libpng version 1.0.19rc2 - June 14, 2006 (shared library 10.0)
README for libpng version 1.0.21 - November 15, 2006 (shared library 10.0)
See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng.
@@ -190,11 +190,11 @@ Files in this distribution:
descrip.mms => VMS makefile for MMS or MMK
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.elf => Linux/ELF makefile symbol versioning,
gcc, creates libpng10.so.0.1.0.19rc2)
gcc, creates libpng10.so.0.1.0.21)
makefile.linux => Linux/ELF makefile
(gcc, creates libpng10.so.0.1.0.19rc2)
(gcc, creates libpng10.so.0.1.0.21)
makefile.gcmmx => Linux/ELF makefile
(gcc, creates libpng10.so.0.1.0.19rc2,
(gcc, creates libpng10.so.0.1.0.21,
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
@@ -216,12 +216,12 @@ Files in this distribution:
makefile.openbsd => OpenBSD makefile
makefile.sgi => Silicon Graphics IRIX (cc, creates static lib)
makefile.sggcc => Silicon Graphics
(gcc, creates libpng10.so.0.1.0.19rc2)
(gcc, creates libpng10.so.0.1.0.21)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
(gcc, creates libpng10.so.0.1.0.19rc2)
(gcc, creates libpng10.so.0.1.0.21)
makefile.so9 => Solaris 9 makefile
(gcc, creates libpng10.so.0.1.0.19rc2)
(gcc, creates libpng10.so.0.1.0.21)
makefile.32sunu => Sun Ultra 32-bit makefile
makefile.64sunu => Sun Ultra 64-bit makefile
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc

View File

@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
June 14, 2006
November 15, 2006
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.0.19rc2 are Y2K compliant. It is my belief that earlier
upward through 1.0.21 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

104
configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for libpng 1.0.19rc2.
# Generated by GNU Autoconf 2.59 for libpng 1.0.21.
#
# Report bugs to <png-mng-implement@lists.sourceforge.net>.
#
@@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='libpng'
PACKAGE_TARNAME='libpng'
PACKAGE_VERSION='1.0.19rc2'
PACKAGE_STRING='libpng 1.0.19rc2'
PACKAGE_VERSION='1.0.21'
PACKAGE_STRING='libpng 1.0.21'
PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
ac_unique_file="pngget.c"
@@ -954,7 +954,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures libpng 1.0.19rc2 to adapt to many kinds of systems.
\`configure' configures libpng 1.0.21 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libpng 1.0.19rc2:";;
short | recursive ) echo "Configuration of libpng 1.0.21:";;
esac
cat <<\_ACEOF
@@ -1167,7 +1167,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
libpng configure 1.0.19rc2
libpng configure 1.0.21
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1181,7 +1181,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libpng $as_me 1.0.19rc2, which was
It was created by libpng $as_me 1.0.21, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1824,7 +1824,7 @@ fi
# Define the identity of the package.
PACKAGE='libpng'
VERSION='1.0.19rc2'
VERSION='1.0.21'
cat >>confdefs.h <<_ACEOF
@@ -1979,9 +1979,9 @@ fi
PNGLIB_VERSION=1.0.19rc2
PNGLIB_VERSION=1.0.21
PNGLIB_MAJOR=10
PNGLIB_MINOR=19
PNGLIB_MINOR=21
@@ -19451,86 +19451,6 @@ fi
done
echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5
echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6
if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test "$cross_compiling" = yes; then
ac_cv_func_malloc_0_nonnull=no
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#if STDC_HEADERS || HAVE_STDLIB_H
# include <stdlib.h>
#else
char *malloc ();
#endif
int
main ()
{
exit (malloc (0) ? 0 : 1);
;
return 0;
}
_ACEOF
rm -f conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_func_malloc_0_nonnull=yes
else
echo "$as_me: program exited with status $ac_status" >&5
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_func_malloc_0_nonnull=no
fi
rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5
echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6
if test $ac_cv_func_malloc_0_nonnull = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_MALLOC 1
_ACEOF
else
cat >>confdefs.h <<\_ACEOF
#define HAVE_MALLOC 0
_ACEOF
case $LIBOBJS in
"malloc.$ac_objext" | \
*" malloc.$ac_objext" | \
"malloc.$ac_objext "* | \
*" malloc.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;;
esac
cat >>confdefs.h <<\_ACEOF
#define malloc rpl_malloc
_ACEOF
fi
echo "$as_me:$LINENO: checking for working strtod" >&5
echo $ECHO_N "checking for working strtod... $ECHO_C" >&6
@@ -20681,7 +20601,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by libpng $as_me 1.0.19rc2, which was
This file was extended by libpng $as_me 1.0.21, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20744,7 +20664,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
libpng config.status 1.0.19rc2
libpng config.status 1.0.21
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"

View File

@@ -18,14 +18,14 @@ AC_PREREQ(2.59)
dnl Version number stuff here:
AC_INIT([libpng], [1.0.19rc2], [png-mng-implement@lists.sourceforge.net])
AC_INIT([libpng], [1.0.21], [png-mng-implement@lists.sourceforge.net])
AM_INIT_AUTOMAKE
dnl stop configure from automagically running automake
AM_MAINTAINER_MODE
PNGLIB_VERSION=1.0.19rc2
PNGLIB_VERSION=1.0.21
PNGLIB_MAJOR=10
PNGLIB_MINOR=19
PNGLIB_MINOR=21
dnl End of version number stuff
@@ -52,7 +52,6 @@ AC_TYPE_SIZE_T
AC_STRUCT_TM
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_STRTOD
AC_CHECK_FUNCS([memset], , AC_ERROR([memset not found in libc]))
AC_CHECK_FUNCS([pow], , AC_CHECK_LIB(m, pow, , AC_ERROR([cannot find pow])) )

View File

@@ -1,6 +1,6 @@
.TH LIBPNG 3 "June 14, 2006"
.TH LIBPNG 3 "November 15, 2006"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.19rc2
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.21
.SH SYNOPSIS
\fI\fB
@@ -821,7 +821,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.0.19rc2 - June 14, 2006
libpng version 1.0.21 - November 15, 2006
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -1191,7 +1191,7 @@ dithering, and setting filler.) If this is the case, simply do this:
png_read_png(png_ptr, info_ptr, png_transforms, NULL)
where png_transforms is an integer containing the logical OR of
where png_transforms is an integer containing the bitwise OR of
some set of transformation flags. This call is equivalent to png_read_info(),
followed the set of transformations indicated by the transform mask,
then png_read_image(), and finally png_read_end().
@@ -2057,7 +2057,7 @@ point to libpng-allocated storage with the following function:
png_free_data(png_ptr, info_ptr, mask, seq)
mask - identifies data to be freed, a mask
containing the logical OR of one or
containing the bitwise OR of one or
more of
PNG_FREE_PLTE, PNG_FREE_TRNS,
PNG_FREE_HIST, PNG_FREE_ICCP,
@@ -2119,7 +2119,7 @@ application instead of by libpng, you can use
png_set_invalid(png_ptr, info_ptr, mask);
mask - identifies the chunks to be made invalid,
containing the logical OR of one or
containing the bitwise OR of one or
more of
PNG_INFO_gAMA, PNG_INFO_sBIT,
PNG_INFO_cHRM, PNG_INFO_PLTE,
@@ -2431,7 +2431,7 @@ types.
/* turn on or off filtering, and/or choose
specific filters. You can use either a single
PNG_FILTER_VALUE_NAME or the logical OR of one
PNG_FILTER_VALUE_NAME or the bitwise OR of one
or more PNG_FILTER_NAME masks. */
png_set_filter(png_ptr, 0,
PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE |
@@ -2804,7 +2804,7 @@ png_set_rows() to put image data in the info structure), simply do this:
png_write_png(png_ptr, info_ptr, png_transforms, NULL)
where png_transforms is an integer containing the logical OR of some set of
where png_transforms is an integer containing the bitwise OR of some set of
transformation flags. This call is equivalent to png_write_info(),
followed the set of transformations indicated by the transform mask,
then png_write_image(), and finally png_write_end().
@@ -3064,7 +3064,7 @@ point to libpng-allocated storage with the following function:
png_free_data(png_ptr, info_ptr, mask, seq)
mask - identifies data to be freed, a mask
containing the logical OR of one or
containing the bitwise OR of one or
more of
PNG_FREE_PLTE, PNG_FREE_TRNS,
PNG_FREE_HIST, PNG_FREE_ICCP,
@@ -3515,12 +3515,12 @@ Libpng can support some of these extensions. To enable them, use the
png_permit_mng_features() function:
feature_set = png_permit_mng_features(png_ptr, mask)
mask is a png_uint_32 containing the logical OR of the
mask is a png_uint_32 containing the bitwise OR of the
features you want to enable. These include
PNG_FLAG_MNG_EMPTY_PLTE
PNG_FLAG_MNG_FILTER_64
PNG_ALL_MNG_FEATURES
feature_set is a png_uint_32 that is the logical AND of
feature_set is a png_uint_32 that is the bitwise AND of
your mask with the set of MNG features that is
supported by the version of libpng that you are using.
@@ -3583,13 +3583,13 @@ application:
.SH VIII. Y2K Compliance in libpng
June 14, 2006
November 15, 2006
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.0.19rc2 are Y2K compliant. It is my belief that earlier
upward through 1.0.21 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
@@ -3750,8 +3750,15 @@ the first widely used release:
1.2.10rc1-3 13 10210 12.so.0.10[.0]
1.2.10 13 10210 12.so.0.10[.0]
1.2.11beta1-4 13 10211 12.so.0.11[.0]
1.0.19rc1-2 10 10019 10.so.0.19[.0]
1.2.11rc1-2 13 10211 12.so.0.11[.0]
1.0.19rc1-5 10 10019 10.so.0.19[.0]
1.2.11rc1-5 13 10211 12.so.0.11[.0]
1.0.19 10 10019 10.so.0.19[.0]
1.2.11 13 10211 12.so.0.11[.0]
1.0.20 10 10020 10.so.0.20[.0]
1.2.12 13 10212 12.so.0.12[.0]
1.2.13beta1 13 10211 12.so.0.11[.0]
1.0.21 10 10021 10.so.0.21[.0]
1.2.13 13 10213 12.so.0.13[.0]
Henceforth the source version will match the shared-library minor
and patch numbers; the shared-library major version number will be
@@ -3807,7 +3814,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.0.19rc2 - June 14, 2006:
Libpng version 1.0.21 - November 15, 2006:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@@ -3828,7 +3835,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.2.6, August 15, 2004, through 1.0.19rc2, June 14, 2006, are
libpng versions 1.2.6, August 15, 2004, through 1.0.21, November 15, 2006, are
Copyright (c) 2004-2006 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
@@ -3927,7 +3934,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
June 14, 2006
November 15, 2006
.\" end of man page

View File

@@ -1,6 +1,6 @@
libpng.txt - A description on how to use and modify libpng
libpng version 1.0.19rc2 - June 14, 2006
libpng version 1.0.21 - November 15, 2006
Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net>
Copyright (c) 1998-2005 Glenn Randers-Pehrson
@@ -370,7 +370,7 @@ dithering, and setting filler.) If this is the case, simply do this:
png_read_png(png_ptr, info_ptr, png_transforms, NULL)
where png_transforms is an integer containing the logical OR of
where png_transforms is an integer containing the bitwise OR of
some set of transformation flags. This call is equivalent to png_read_info(),
followed the set of transformations indicated by the transform mask,
then png_read_image(), and finally png_read_end().
@@ -1236,7 +1236,7 @@ point to libpng-allocated storage with the following function:
png_free_data(png_ptr, info_ptr, mask, seq)
mask - identifies data to be freed, a mask
containing the logical OR of one or
containing the bitwise OR of one or
more of
PNG_FREE_PLTE, PNG_FREE_TRNS,
PNG_FREE_HIST, PNG_FREE_ICCP,
@@ -1298,7 +1298,7 @@ application instead of by libpng, you can use
png_set_invalid(png_ptr, info_ptr, mask);
mask - identifies the chunks to be made invalid,
containing the logical OR of one or
containing the bitwise OR of one or
more of
PNG_INFO_gAMA, PNG_INFO_sBIT,
PNG_INFO_cHRM, PNG_INFO_PLTE,
@@ -1610,7 +1610,7 @@ types.
/* turn on or off filtering, and/or choose
specific filters. You can use either a single
PNG_FILTER_VALUE_NAME or the logical OR of one
PNG_FILTER_VALUE_NAME or the bitwise OR of one
or more PNG_FILTER_NAME masks. */
png_set_filter(png_ptr, 0,
PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE |
@@ -1983,7 +1983,7 @@ png_set_rows() to put image data in the info structure), simply do this:
png_write_png(png_ptr, info_ptr, png_transforms, NULL)
where png_transforms is an integer containing the logical OR of some set of
where png_transforms is an integer containing the bitwise OR of some set of
transformation flags. This call is equivalent to png_write_info(),
followed the set of transformations indicated by the transform mask,
then png_write_image(), and finally png_write_end().
@@ -2243,7 +2243,7 @@ point to libpng-allocated storage with the following function:
png_free_data(png_ptr, info_ptr, mask, seq)
mask - identifies data to be freed, a mask
containing the logical OR of one or
containing the bitwise OR of one or
more of
PNG_FREE_PLTE, PNG_FREE_TRNS,
PNG_FREE_HIST, PNG_FREE_ICCP,
@@ -2694,12 +2694,12 @@ Libpng can support some of these extensions. To enable them, use the
png_permit_mng_features() function:
feature_set = png_permit_mng_features(png_ptr, mask)
mask is a png_uint_32 containing the logical OR of the
mask is a png_uint_32 containing the bitwise OR of the
features you want to enable. These include
PNG_FLAG_MNG_EMPTY_PLTE
PNG_FLAG_MNG_FILTER_64
PNG_ALL_MNG_FEATURES
feature_set is a png_uint_32 that is the logical AND of
feature_set is a png_uint_32 that is the bitwise AND of
your mask with the set of MNG features that is
supported by the version of libpng that you are using.
@@ -2762,13 +2762,13 @@ application:
VIII. Y2K Compliance in libpng
June 14, 2006
November 15, 2006
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.0.19rc2 are Y2K compliant. It is my belief that earlier
upward through 1.0.21 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

View File

@@ -1,6 +1,6 @@
.TH LIBPNGPF 3 "June 14, 2006"
.TH LIBPNGPF 3 "November 15, 2006"
.SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.19rc2
libpng \- Portable Network Graphics (PNG) Reference Library 1.0.21
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP

2
png.5
View File

@@ -1,4 +1,4 @@
.TH PNG 5 "June 14, 2006"
.TH PNG 5 "November 15, 2006"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION

16
png.c
View File

@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -13,7 +13,7 @@
#include "png.h"
/* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_0_19rc2 Your_png_h_is_not_version_1_0_19rc2;
typedef version_1_0_21 Your_png_h_is_not_version_1_0_21;
/* Version information for C files. This had better match the version
* string defined in png.h. */
@@ -97,6 +97,7 @@ const int FARDATA png_pass_dsp_mask[]
void PNGAPI
png_set_sig_bytes(png_structp png_ptr, int num_bytes)
{
if(png_ptr == NULL) return;
png_debug(1, "in png_set_sig_bytes\n");
if (num_bytes > 8)
png_error(png_ptr, "Too many bytes for PNG signature.");
@@ -157,6 +158,7 @@ png_zalloc(voidpf png_ptr, uInt items, uInt size)
png_uint_32 save_flags=p->flags;
png_uint_32 num_bytes;
if(png_ptr == NULL) return (NULL);
if (items > PNG_UINT_32_MAX/size)
{
png_warning (png_ptr, "Potential overflow in png_zalloc()");
@@ -265,6 +267,7 @@ png_create_info_struct(png_structp png_ptr)
void PNGAPI
png_destroy_info_struct(png_structp png_ptr, png_infopp info_ptr_ptr)
{
if(png_ptr == NULL) return;
png_infop info_ptr = NULL;
png_debug(1, "in png_destroy_info_struct\n");
@@ -304,6 +307,8 @@ png_info_init_3(png_infopp ptr_ptr, png_size_t png_info_struct_size)
{
png_infop info_ptr = *ptr_ptr;
if(info_ptr == NULL) return;
png_debug(1, "in png_info_init_3\n");
if(png_sizeof(png_info) > png_info_struct_size)
@@ -611,6 +616,7 @@ png_info_destroy(png_structp png_ptr, png_infop info_ptr)
png_voidp PNGAPI
png_get_io_ptr(png_structp png_ptr)
{
if(png_ptr == NULL) return (NULL);
return (png_ptr->io_ptr);
}
@@ -626,6 +632,7 @@ void PNGAPI
png_init_io(png_structp png_ptr, png_FILE_p fp)
{
png_debug(1, "in png_init_io\n");
if(png_ptr == NULL) return;
png_ptr->io_ptr = (png_voidp)fp;
}
#endif
@@ -641,6 +648,7 @@ png_convert_to_rfc1123(png_structp png_ptr, png_timep ptime)
{"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
if(png_ptr == NULL) return (NULL);
if (png_ptr->time_buffer == NULL)
{
png_ptr->time_buffer = (png_charp)png_malloc(png_ptr, (png_uint_32)(29*
@@ -693,7 +701,7 @@ png_charp PNGAPI
png_get_copyright(png_structp png_ptr)
{
if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */
return ((png_charp) "\n libpng version 1.0.19rc2 - June 14, 2006\n\
return ((png_charp) "\n libpng version 1.0.21 - November 15, 2006\n\
Copyright (c) 1998-2006 Glenn Randers-Pehrson\n\
Copyright (c) 1996-1997 Andreas Dilger\n\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -757,6 +765,7 @@ png_handle_as_unknown(png_structp png_ptr, png_bytep chunk_name)
int PNGAPI
png_reset_zstream(png_structp png_ptr)
{
if (png_ptr == NULL) return Z_STREAM_ERROR;
return (inflateReset(&png_ptr->zstream));
}
#endif /* defined(PNG_READ_SUPPORTED) || defined(PNG_WRITE_SUPPORTED) */
@@ -778,6 +787,7 @@ png_access_version_number(void)
void /* PRIVATE */
png_init_mmx_flags (png_structp png_ptr)
{
if(png_ptr == NULL) return;
png_ptr->mmx_rowbytes_threshold = 0;
png_ptr->mmx_bitdepth_threshold = 0;

35
png.h
View File

@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
* libpng version 1.0.19rc2 - June 14, 2006
* libpng version 1.0.21 - November 15, 2006
* Copyright (c) 1998-2006 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.0.19rc2 - June 14, 2006: Glenn
* libpng versions 0.97, January 1998, through 1.0.21 - November 15, 2006: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -120,8 +120,15 @@
* 1.2.10rc1-3 13 10210 12.so.0.10[.0]
* 1.2.10 13 10210 12.so.0.10[.0]
* 1.2.11beta1-4 13 10211 12.so.0.11[.0]
* 1.0.19rc1-2 10 10019 10.so.0.19[.0]
* 1.2.11rc1-2 13 10211 12.so.0.11[.0]
* 1.0.19rc1-5 10 10019 10.so.0.19[.0]
* 1.2.11rc1-5 13 10211 12.so.0.11[.0]
* 1.0.19 10 10019 10.so.0.19[.0]
* 1.2.11 13 10211 12.so.0.11[.0]
* 1.0.20 10 10020 10.so.0.20[.0]
* 1.2.12 13 10212 12.so.0.12[.0]
* 1.2.13beta1 13 10211 12.so.0.11[.0]
* 1.0.21 10 10021 10.so.0.21[.0]
* 1.2.13 13 10213 12.so.0.13[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -151,7 +158,7 @@
* If you modify libpng you may insert additional notices immediately following
* this sentence.
*
* libpng versions 1.2.6, August 15, 2004, through 1.0.19rc2, June 14, 2006, are
* libpng versions 1.2.6, August 15, 2004, through 1.0.21, November 15, 2006, are
* Copyright (c) 2004, 2006 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
@@ -263,13 +270,13 @@
* Y2K compliance in libpng:
* =========================
*
* June 14, 2006
* November 15, 2006
*
* 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.0.19rc2 are Y2K compliant. It is my belief that earlier
* upward through 1.0.21 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
@@ -325,9 +332,9 @@
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.0.19rc2"
#define PNG_LIBPNG_VER_STRING "1.0.21"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.0.19rc2 - June 14, 2006 (header)\n"
" libpng version 1.0.21 - November 15, 2006 (header)\n"
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_LIBPNG_VER_DLLNUM 10
@@ -335,11 +342,11 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 0
#define PNG_LIBPNG_VER_RELEASE 19
#define PNG_LIBPNG_VER_RELEASE 21
/* 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 0
/* Release Status */
#define PNG_LIBPNG_BUILD_ALPHA 1
@@ -356,14 +363,14 @@
#define PNG_LIBPNG_BUILD_SPECIAL 32 /* Cannot be OR'ed with
PNG_LIBPNG_BUILD_PRIVATE */
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_RC
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
* Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */
#define PNG_LIBPNG_VER 10019 /* 1.0.19 */
#define PNG_LIBPNG_VER 10021 /* 1.0.21 */
#ifndef PNG_VERSION_INFO_ONLY
/* include the compression library's header */
@@ -1369,7 +1376,7 @@ struct png_struct_def
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
typedef png_structp version_1_0_19rc2;
typedef png_structp version_1_0_21;
typedef png_struct FAR * FAR * png_structpp;

View File

@@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.0.19rc2 - June 14, 2006
* libpng version 1.0.21 - November 15, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2005 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -720,6 +720,10 @@
# ifndef PNG_ASSEMBLER_CODE_SUPPORTED
# define PNG_ASSEMBLER_CODE_SUPPORTED
# endif
# if defined(XP_MACOSX) && !defined(PNG_NO_MMX_CODE)
/* work around Intel-Mac compiler bug */
# define PNG_NO_MMX_CODE
# endif
# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) && \
defined(__MMX__)
# define PNG_MMX_CODE_SUPPORTED
@@ -1076,13 +1080,8 @@
* want to have unsigned int for png_uint_32 instead of unsigned long.
*/
#if (__WORDSIZE == 64) || defined(_LP64) || (_MIPS_SZLONG == 64)
typedef unsigned int png_uint_32;
typedef int png_int_32;
#else
typedef unsigned long png_uint_32;
typedef long png_int_32;
#endif
typedef unsigned short png_uint_16;
typedef short png_int_16;
typedef unsigned char png_byte;

View File

@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -157,8 +157,11 @@ png_chunk_error(png_structp png_ptr, png_const_charp error_message)
char msg[18+64];
if (png_ptr == NULL)
png_error(png_ptr, error_message);
png_format_buffer(png_ptr, msg, error_message);
png_error(png_ptr, msg);
else
{
png_format_buffer(png_ptr, msg, error_message);
png_error(png_ptr, msg);
}
}
void PNGAPI
@@ -167,8 +170,11 @@ png_chunk_warning(png_structp png_ptr, png_const_charp warning_message)
char msg[18+64];
if (png_ptr == NULL)
png_warning(png_ptr, warning_message);
png_format_buffer(png_ptr, msg, warning_message);
png_warning(png_ptr, msg);
else
{
png_format_buffer(png_ptr, msg, warning_message);
png_warning(png_ptr, msg);
}
}
/* This is the default error handling function. Note that replacements for
@@ -206,6 +212,8 @@ png_default_error(png_structp png_ptr, png_const_charp error_message)
#endif
#ifdef PNG_SETJMP_SUPPORTED
if (png_ptr)
{
# ifdef USE_FAR_KEYWORD
{
jmp_buf jmpbuf;
@@ -214,10 +222,9 @@ png_default_error(png_structp png_ptr, png_const_charp error_message)
}
# else
longjmp(png_ptr->jmpbuf, 1);
# endif
# endif
}
#else
/* make compiler happy */ ;
if (png_ptr)
PNG_ABORT();
#endif
#ifdef PNG_NO_CONSOLE_IO

View File

@@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -137,6 +137,9 @@ png_malloc_default(png_structp png_ptr, png_uint_32 size)
png_voidp ret;
#endif /* PNG_USER_MEM_SUPPORTED */
if (png_ptr == NULL || size == 0)
return (NULL);
#ifdef PNG_MAX_MALLOC_64K
if (size > (png_uint_32)65536L)
{
@@ -290,6 +293,8 @@ png_free_default(png_structp png_ptr, png_voidp ptr)
{
#endif /* PNG_USER_MEM_SUPPORTED */
if(png_ptr == NULL) return;
if (png_ptr->offset_table != NULL)
{
int i;
@@ -536,6 +541,7 @@ png_voidp PNGAPI
png_malloc_warn(png_structp png_ptr, png_uint_32 size)
{
png_voidp ptr;
if(png_ptr == NULL) return (NULL);
png_uint_32 save_flags=png_ptr->flags;
png_ptr->flags|=PNG_FLAG_MALLOC_NULL_MEM_OK;
@@ -580,9 +586,11 @@ void PNGAPI
png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr
malloc_fn, png_free_ptr free_fn)
{
if(png_ptr != NULL) {
png_ptr->mem_ptr = mem_ptr;
png_ptr->malloc_fn = malloc_fn;
png_ptr->free_fn = free_fn;
}
}
/* This function returns a pointer to the mem_ptr associated with the user
@@ -592,6 +600,7 @@ png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr, png_malloc_ptr
png_voidp PNGAPI
png_get_mem_ptr(png_structp png_ptr)
{
if(png_ptr == NULL) return (NULL);
return ((png_voidp)png_ptr->mem_ptr);
}
#endif /* PNG_USER_MEM_SUPPORTED */

View File

@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
* Last changed in libpng 1.2.11 - June 7, 2004
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -28,6 +28,7 @@ void PNGAPI
png_process_data(png_structp png_ptr, png_infop info_ptr,
png_bytep buffer, png_size_t buffer_size)
{
if(png_ptr == NULL) return;
png_push_restore_buffer(png_ptr, buffer, buffer_size);
while (png_ptr->buffer_size)
@@ -42,6 +43,7 @@ png_process_data(png_structp png_ptr, png_infop info_ptr,
void /* PRIVATE */
png_process_some_data(png_structp png_ptr, png_infop info_ptr)
{
if(png_ptr == NULL) return;
switch (png_ptr->process_mode)
{
case PNG_READ_SIG_MODE:
@@ -561,6 +563,7 @@ png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, png_size_t length)
{
png_bytep ptr;
if(png_ptr == NULL) return;
ptr = buffer;
if (png_ptr->save_buffer_size)
{
@@ -1550,6 +1553,7 @@ void PNGAPI
png_progressive_combine_row (png_structp png_ptr,
png_bytep old_row, png_bytep new_row)
{
if(png_ptr == NULL) return;
#ifdef PNG_USE_LOCAL_ARRAYS
const int FARDATA png_pass_dsp_mask[7] =
{0xff, 0x0f, 0xff, 0x33, 0xff, 0x55, 0xff};
@@ -1563,6 +1567,7 @@ png_set_progressive_read_fn(png_structp png_ptr, png_voidp progressive_ptr,
png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
png_progressive_end_ptr end_fn)
{
if(png_ptr == NULL) return;
png_ptr->info_fn = info_fn;
png_ptr->row_fn = row_fn;
png_ptr->end_fn = end_fn;
@@ -1573,6 +1578,7 @@ png_set_progressive_read_fn(png_structp png_ptr, png_voidp progressive_ptr,
png_voidp PNGAPI
png_get_progressive_ptr(png_structp png_ptr)
{
if(png_ptr == NULL) return (NULL);
return png_ptr->io_ptr;
}
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */

View File

@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
* Last changed in libpng 1.2.11 June 7, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -188,6 +188,7 @@ 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(png_ptr == NULL) return;
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
if(png_sizeof(png_struct) > png_struct_size ||
png_sizeof(png_info) > png_info_size)
@@ -239,6 +240,8 @@ png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
png_structp png_ptr=*ptr_ptr;
if(png_ptr == NULL) return;
do
{
if(user_png_ver[i] != png_libpng_ver[i])
@@ -317,6 +320,7 @@ png_read_init_3(png_structpp ptr_ptr, png_const_charp user_png_ver,
void PNGAPI
png_read_info(png_structp png_ptr, png_infop info_ptr)
{
if(png_ptr == NULL) return;
png_debug(1, "in png_read_info\n");
/* If we haven't checked all of the PNG signature bytes, do so now. */
if (png_ptr->sig_bytes < 8)
@@ -533,6 +537,7 @@ void PNGAPI
png_read_update_info(png_structp png_ptr, png_infop info_ptr)
{
png_debug(1, "in png_read_update_info\n");
if(png_ptr == NULL) return;
if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
png_read_start_row(png_ptr);
else
@@ -551,6 +556,7 @@ void PNGAPI
png_start_read_image(png_structp png_ptr)
{
png_debug(1, "in png_start_read_image\n");
if(png_ptr == NULL) return;
if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
png_read_start_row(png_ptr);
}
@@ -566,6 +572,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row)
const int png_pass_mask[7] = {0x80, 0x08, 0x88, 0x22, 0xaa, 0x55, 0xff};
#endif
int ret;
if(png_ptr == NULL) return;
png_debug2(1, "in png_read_row (row %lu, pass %d)\n",
png_ptr->row_number, png_ptr->pass);
if (!(png_ptr->flags & PNG_FLAG_ROW_INIT))
@@ -824,6 +831,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row,
png_bytepp dp;
png_debug(1, "in png_read_rows\n");
if(png_ptr == NULL) return;
rp = row;
dp = display_row;
if (rp != NULL && dp != NULL)
@@ -872,6 +880,7 @@ png_read_image(png_structp png_ptr, png_bytepp image)
png_bytepp rp;
png_debug(1, "in png_read_image\n");
if(png_ptr == NULL) return;
#ifdef PNG_READ_INTERLACING_SUPPORTED
pass = png_set_interlace_handling(png_ptr);
@@ -910,6 +919,7 @@ png_read_end(png_structp png_ptr, png_infop info_ptr)
png_uint_32 length;
png_debug(1, "in png_read_end\n");
if(png_ptr == NULL) return;
png_crc_finish(png_ptr, 0); /* Finish off CRC from last IDAT chunk */
do
@@ -1300,6 +1310,7 @@ png_read_destroy(png_structp png_ptr, png_infop info_ptr, png_infop end_info_ptr
void PNGAPI
png_set_read_status_fn(png_structp png_ptr, png_read_status_ptr read_row_fn)
{
if(png_ptr == NULL) return;
png_ptr->read_row_fn = read_row_fn;
}
@@ -1313,6 +1324,7 @@ png_read_png(png_structp png_ptr, png_infop info_ptr,
{
int row;
if(png_ptr == NULL) return;
#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED)
/* invert the alpha channel from opacity to transparency
*/

View File

@@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -46,6 +46,7 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
png_size_t check;
if(png_ptr == NULL) return;
/* fread() returns 0 on error, so it is OK to store this in a png_size_t
* instead of an int, which is what fread() actually returns.
*/
@@ -76,6 +77,7 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
png_byte *n_data;
png_FILE_p io_ptr;
if(png_ptr == NULL) return;
/* Check if data really is near. If so, use usual code. */
n_data = (png_byte *)CVT_PTR_NOCHECK(data);
io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
@@ -136,6 +138,7 @@ void PNGAPI
png_set_read_fn(png_structp png_ptr, png_voidp io_ptr,
png_rw_ptr read_data_fn)
{
if(png_ptr == NULL) return;
png_ptr->io_ptr = io_ptr;
#if !defined(PNG_NO_STDIO)

View File

@@ -1,7 +1,7 @@
/* pngrtran.c - transforms the data in a row for PNG readers
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -24,6 +24,7 @@ png_set_crc_action(png_structp png_ptr, int crit_action, int ancil_action)
{
png_debug(1, "in png_set_crc_action\n");
/* Tell libpng how we react to CRC errors in critical chunks */
if(png_ptr == NULL) return;
switch (crit_action)
{
case PNG_CRC_NO_CHANGE: /* leave setting as is */
@@ -80,6 +81,7 @@ png_set_background(png_structp png_ptr,
int need_expand, double background_gamma)
{
png_debug(1, "in png_set_background\n");
if(png_ptr == NULL) return;
if (background_gamma_code == PNG_BACKGROUND_GAMMA_UNKNOWN)
{
png_warning(png_ptr, "Application must supply a known background gamma");
@@ -112,6 +114,7 @@ void PNGAPI
png_set_strip_16(png_structp png_ptr)
{
png_debug(1, "in png_set_strip_16\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_16_TO_8;
}
#endif
@@ -121,6 +124,7 @@ void PNGAPI
png_set_strip_alpha(png_structp png_ptr)
{
png_debug(1, "in png_set_strip_alpha\n");
if(png_ptr == NULL) return;
png_ptr->flags |= PNG_FLAG_STRIP_ALPHA;
}
#endif
@@ -150,6 +154,7 @@ png_set_dither(png_structp png_ptr, png_colorp palette,
int full_dither)
{
png_debug(1, "in png_set_dither\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_DITHER;
if (!full_dither)
@@ -533,6 +538,7 @@ void PNGAPI
png_set_gamma(png_structp png_ptr, double scrn_gamma, double file_gamma)
{
png_debug(1, "in png_set_gamma\n");
if(png_ptr == NULL) return;
if ((fabs(scrn_gamma * file_gamma - 1.0) > PNG_GAMMA_THRESHOLD) ||
(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) ||
(png_ptr->color_type == PNG_COLOR_TYPE_PALETTE))
@@ -551,6 +557,7 @@ void PNGAPI
png_set_expand(png_structp png_ptr)
{
png_debug(1, "in png_set_expand\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
}
@@ -576,6 +583,7 @@ void PNGAPI
png_set_palette_to_rgb(png_structp png_ptr)
{
png_debug(1, "in png_set_palette_to_rgb\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
}
@@ -585,6 +593,7 @@ void PNGAPI
png_set_expand_gray_1_2_4_to_8(png_structp png_ptr)
{
png_debug(1, "in png_set_expand_gray_1_2_4_to_8\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_EXPAND_tRNS;
}
#endif
@@ -596,6 +605,7 @@ void PNGAPI
png_set_gray_1_2_4_to_8(png_structp png_ptr)
{
png_debug(1, "in png_set_gray_1_2_4_to_8\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= (PNG_EXPAND | PNG_EXPAND_tRNS);
}
#endif
@@ -631,6 +641,7 @@ png_set_rgb_to_gray(png_structp png_ptr, int error_action, double red,
{
int red_fixed = (int)((float)red*100000.0 + 0.5);
int green_fixed = (int)((float)green*100000.0 + 0.5);
if(png_ptr == NULL) return;
png_set_rgb_to_gray_fixed(png_ptr, error_action, red_fixed, green_fixed);
}
#endif
@@ -640,6 +651,7 @@ png_set_rgb_to_gray_fixed(png_structp png_ptr, int error_action,
png_fixed_point red, png_fixed_point green)
{
png_debug(1, "in png_set_rgb_to_gray\n");
if(png_ptr == NULL) return;
switch(error_action)
{
case 1: png_ptr->transformations |= PNG_RGB_TO_GRAY;
@@ -690,6 +702,7 @@ png_set_read_user_transform_fn(png_structp png_ptr, png_user_transform_ptr
read_user_transform_fn)
{
png_debug(1, "in png_set_read_user_transform_fn\n");
if(png_ptr == NULL) return;
#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED)
png_ptr->transformations |= PNG_USER_TRANSFORM;
png_ptr->read_user_transform_fn = read_user_transform_fn;
@@ -3938,7 +3951,7 @@ png_do_dither(png_row_infop row_info, png_bytep row,
#ifdef PNG_FLOATING_POINT_SUPPORTED
#if defined(PNG_READ_GAMMA_SUPPORTED)
static int png_gamma_shift[] =
{0x10, 0x21, 0x42, 0x84, 0x110, 0x248, 0x550, 0xff0};
{0x10, 0x21, 0x42, 0x84, 0x110, 0x248, 0x550, 0xff0, 0x00};
/* We build the 8- or 16-bit gamma tables here. Note that for 16-bit
* tables, we don't make a full table if we are reducing to 8-bit in

View File

@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
* Last changed in libpng 1.2.11 June 4, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -90,6 +90,7 @@ png_get_uint_16(png_bytep buf)
void /* PRIVATE */
png_crc_read(png_structp png_ptr, png_bytep buf, png_size_t length)
{
if(png_ptr == NULL) return;
png_read_data(png_ptr, buf, length);
png_calculate_crc(png_ptr, buf, length);
}
@@ -276,7 +277,7 @@ png_decompress_chunk(png_structp png_ptr, int comp_type,
if (ret != Z_STREAM_END)
{
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
char umsg[50];
char umsg[52];
if (ret == Z_BUF_ERROR)
sprintf(umsg,"Buffer error in compressed datastream in %s chunk",
@@ -3104,7 +3105,7 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
if ((png_uint_32)png_ptr->rowbytes + 1 > (png_uint_32)65536L)
png_error(png_ptr, "This image requires a row greater than 64KB");
#endif
if ((png_uint_32)png_ptr->rowbytes > PNG_SIZE_MAX - 1)
if ((png_uint_32)png_ptr->rowbytes > (png_uint_32)(PNG_SIZE_MAX - 1))
png_error(png_ptr, "Row has too many bytes to allocate in memory.");
png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, (png_uint_32)(
png_ptr->rowbytes + 1));

View File

@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -976,10 +976,10 @@ png_set_sPLT(png_structp png_ptr,
/* TODO: use png_malloc_warn */
png_strcpy(to->name, from->name);
to->entries = (png_sPLT_entryp)png_malloc(png_ptr,
from->nentries * png_sizeof(png_sPLT_t));
from->nentries * png_sizeof(png_sPLT_entry));
/* TODO: use png_malloc_warn */
png_memcpy(to->entries, from->entries,
from->nentries * png_sizeof(png_sPLT_t));
from->nentries * png_sizeof(png_sPLT_entry));
to->nentries = from->nentries;
to->depth = from->depth;
}
@@ -1224,7 +1224,7 @@ png_set_asm_flags (png_structp png_ptr, png_uint_32 asm_flags)
}
/* we're replacing the settable bits with those passed in by the user,
* so first zero them out of the master copy, then logical-OR in the
* so first zero them out of the master copy, then bitwise-OR in the
* allowed subset that was requested */
png_ptr->asm_flags &= ~settable_asm_flags; /* zero them */
@@ -1256,6 +1256,7 @@ png_set_user_limits (png_structp png_ptr, png_uint_32 user_width_max,
* rejected by png_set_IHDR(). To accept any PNG datastream
* regardless of dimensions, set both limits to 0x7ffffffL.
*/
if(png_ptr == NULL) return;
png_ptr->user_width_max = user_width_max;
png_ptr->user_height_max = user_height_max;
}

View File

@@ -1549,4 +1549,4 @@ main(int argc, char *argv[])
}
/* Generate a compiler error if there is an old png.h in the search path. */
typedef version_1_0_19rc2 your_png_h_is_not_version_1_0_19rc2;
typedef version_1_0_21 your_png_h_is_not_version_1_0_21;

View File

@@ -1,7 +1,7 @@
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -18,6 +18,7 @@ void PNGAPI
png_set_bgr(png_structp png_ptr)
{
png_debug(1, "in png_set_bgr\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_BGR;
}
#endif
@@ -28,6 +29,7 @@ void PNGAPI
png_set_swap(png_structp png_ptr)
{
png_debug(1, "in png_set_swap\n");
if(png_ptr == NULL) return;
if (png_ptr->bit_depth == 16)
png_ptr->transformations |= PNG_SWAP_BYTES;
}
@@ -39,6 +41,7 @@ void PNGAPI
png_set_packing(png_structp png_ptr)
{
png_debug(1, "in png_set_packing\n");
if(png_ptr == NULL) return;
if (png_ptr->bit_depth < 8)
{
png_ptr->transformations |= PNG_PACK;
@@ -53,6 +56,7 @@ void PNGAPI
png_set_packswap(png_structp png_ptr)
{
png_debug(1, "in png_set_packswap\n");
if(png_ptr == NULL) return;
if (png_ptr->bit_depth < 8)
png_ptr->transformations |= PNG_PACKSWAP;
}
@@ -63,6 +67,7 @@ void PNGAPI
png_set_shift(png_structp png_ptr, png_color_8p true_bits)
{
png_debug(1, "in png_set_shift\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_SHIFT;
png_ptr->shift = *true_bits;
}
@@ -74,7 +79,7 @@ int PNGAPI
png_set_interlace_handling(png_structp png_ptr)
{
png_debug(1, "in png_set_interlace handling\n");
if (png_ptr->interlaced)
if (png_ptr && png_ptr->interlaced)
{
png_ptr->transformations |= PNG_INTERLACE;
return (7);
@@ -94,6 +99,7 @@ void PNGAPI
png_set_filler(png_structp png_ptr, png_uint_32 filler, int filler_loc)
{
png_debug(1, "in png_set_filler\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_FILLER;
png_ptr->filler = (png_byte)filler;
if (filler_loc == PNG_FILLER_AFTER)
@@ -126,6 +132,7 @@ void PNGAPI
png_set_add_alpha(png_structp png_ptr, png_uint_32 filler, int filler_loc)
{
png_debug(1, "in png_set_add_alpha\n");
if(png_ptr == NULL) return;
png_set_filler(png_ptr, filler, filler_loc);
png_ptr->transformations |= PNG_ADD_ALPHA;
}
@@ -139,6 +146,7 @@ void PNGAPI
png_set_swap_alpha(png_structp png_ptr)
{
png_debug(1, "in png_set_swap_alpha\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_SWAP_ALPHA;
}
#endif
@@ -149,6 +157,7 @@ void PNGAPI
png_set_invert_alpha(png_structp png_ptr)
{
png_debug(1, "in png_set_invert_alpha\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_INVERT_ALPHA;
}
#endif
@@ -158,6 +167,7 @@ void PNGAPI
png_set_invert_mono(png_structp png_ptr)
{
png_debug(1, "in png_set_invert_mono\n");
if(png_ptr == NULL) return;
png_ptr->transformations |= PNG_INVERT_MONO;
}
@@ -621,6 +631,7 @@ png_set_user_transform_info(png_structp png_ptr, png_voidp
user_transform_ptr, int user_transform_depth, int user_transform_channels)
{
png_debug(1, "in png_set_user_transform_info\n");
if(png_ptr == NULL) return;
#if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
png_ptr->user_transform_ptr = user_transform_ptr;
png_ptr->user_transform_depth = (png_byte)user_transform_depth;
@@ -641,12 +652,10 @@ png_set_user_transform_info(png_structp png_ptr, png_voidp
png_voidp PNGAPI
png_get_user_transform_ptr(png_structp png_ptr)
{
if (png_ptr == NULL) return (NULL);
#if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED)
return ((png_voidp)png_ptr->user_transform_ptr);
#else
if(png_ptr)
return (NULL);
return (NULL);
#endif
return (NULL);
}
#endif /* PNG_READ_SUPPORTED || PNG_WRITE_SUPPORTED */

View File

@@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
* Last changed in libpng 1.2.3 - May 21, 2002
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2002 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -45,6 +45,7 @@ png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
png_uint_32 check;
if(png_ptr == NULL) return;
#if defined(_WIN32_WCE)
if ( !WriteFile((HANDLE)(png_ptr->io_ptr), data, length, &check, NULL) )
check = 0;
@@ -70,6 +71,7 @@ png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
png_byte *near_data; /* Needs to be "png_byte *" instead of "png_bytep" */
png_FILE_p io_ptr;
if(png_ptr == NULL) return;
/* Check if data really is near. If so, use usual code. */
near_data = (png_byte *)CVT_PTR_NOCHECK(data);
io_ptr = (png_FILE_p)CVT_PTR(png_ptr->io_ptr);
@@ -129,6 +131,7 @@ png_flush(png_structp png_ptr)
void PNGAPI
png_default_flush(png_structp png_ptr)
{
if(png_ptr == NULL) return;
#if !defined(_WIN32_WCE)
png_FILE_p io_ptr;
io_ptr = (png_FILE_p)CVT_PTR((png_ptr->io_ptr));
@@ -165,6 +168,7 @@ void PNGAPI
png_set_write_fn(png_structp png_ptr, png_voidp io_ptr,
png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)
{
if(png_ptr == NULL) return;
png_ptr->io_ptr = io_ptr;
#if !defined(PNG_NO_STDIO)

View File

@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
* Last changed in libpng 1.2.9 April 14, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -576,6 +576,7 @@ 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(png_ptr == NULL) return;
#if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
if(png_sizeof(png_struct) > png_struct_size ||
png_sizeof(png_info) > png_info_size)

View File

@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
* Last changed in libpng 1.2.11 June 4, 2006
* Last changed in libpng 1.2.13 November 13, 2006
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2006 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -62,6 +62,7 @@ void PNGAPI
png_write_chunk(png_structp png_ptr, png_bytep chunk_name,
png_bytep data, png_size_t length)
{
if(png_ptr == NULL) return;
png_write_chunk_start(png_ptr, chunk_name, (png_uint_32)length);
png_write_chunk_data(png_ptr, data, length);
png_write_chunk_end(png_ptr);
@@ -77,6 +78,7 @@ png_write_chunk_start(png_structp png_ptr, png_bytep chunk_name,
{
png_byte buf[4];
png_debug2(0, "Writing %s chunk (%lu bytes)\n", chunk_name, length);
if(png_ptr == NULL) return;
/* write the length */
png_save_uint_32(buf, length);
@@ -98,6 +100,7 @@ void PNGAPI
png_write_chunk_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
/* write the data, and run the CRC over it */
if(png_ptr == NULL) return;
if (data != NULL && length > 0)
{
png_calculate_crc(png_ptr, data, length);
@@ -111,6 +114,8 @@ png_write_chunk_end(png_structp png_ptr)
{
png_byte buf[4];
if(png_ptr == NULL) return;
/* write the crc */
png_save_uint_32(buf, png_ptr->crc);
@@ -728,6 +733,7 @@ png_write_iCCP(png_structp png_ptr, png_charp name, int compression_type,
png_size_t name_len;
png_charp new_name;
compression_state comp;
int embedded_profile_len = 0;
png_debug(1, "in png_write_iCCP\n");
@@ -750,6 +756,24 @@ png_write_iCCP(png_structp png_ptr, png_charp name, int compression_type,
if (profile == NULL)
profile_len = 0;
if (profile_len > 3)
embedded_profile_len = ((*(profile ))<<24) | ((*(profile+1))<<16) |
((*(profile+2))<< 8) | ((*(profile+3)) );
if (profile_len < embedded_profile_len)
{
png_warning(png_ptr,
"Embedded profile length too large in iCCP chunk");
return;
}
if (profile_len > embedded_profile_len)
{
png_warning(png_ptr,
"Truncating profile to actual length in iCCP chunk");
profile_len = embedded_profile_len;
}
if (profile_len)
profile_len = png_text_compress(png_ptr, profile, (png_size_t)profile_len,
PNG_COMPRESSION_TYPE_BASE, &comp);

View File

@@ -8,7 +8,7 @@
# Modeled after libxml-config.
version=1.0.19rc2
version=1.0.21
prefix=""
libdir=""
libs=""

View File

@@ -5,6 +5,6 @@ includedir=@includedir@/libpng10
Name: libpng
Description: Loads and saves PNG files
Version: 1.0.19rc2
Version: 1.0.21
Libs: -L${libdir} -lpng10
Cflags: -I${includedir}

View File

@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -20,7 +20,7 @@ LN_SF = ln -f -s
LIBNAME=libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local

View File

@@ -8,7 +8,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -80,7 +80,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng10
PNGMAJ = 0
CYGDLL = 10
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(CYGDLL).dll

View File

@@ -19,7 +19,7 @@ ZLIBINC=../zlib
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -5,7 +5,7 @@
# Library name:
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10

View File

@@ -12,7 +12,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -16,7 +16,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -6,7 +6,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -76,7 +76,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
LIBNAME = libpng10
PNGMAJ = 0
MINGDLL = 10
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=libpng$(MINGDLL).dll

View File

@@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng10
LIB= png12
SHLIB_MAJOR= 0
SHLIB_MINOR= 1.0.19rc2
SHLIB_MINOR= 1.0.21
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

View File

@@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng
LIB= png
SHLIB_MAJOR= 3
SHLIB_MINOR= 1.0.19rc2
SHLIB_MINOR= 1.0.21
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

View File

@@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 0
SHLIB_MINOR= 1.0.19rc2
SHLIB_MINOR= 1.0.21
LIB= png
SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \

View File

@@ -9,7 +9,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -6,7 +6,7 @@
# Library name:
LIBNAME=libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -8,7 +8,7 @@
# Library name:
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
LIBNAME = libpng10

View File

@@ -8,7 +8,7 @@
# Library name:
LIBNAME = libpng10
PNGMAJ = 0
PNGMIN = 1.0.19rc2
PNGMIN = 1.0.21
PNGVER = $(PNGMAJ).$(PNGMIN)
# Shared library names:

View File

@@ -2,7 +2,7 @@
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.0.19rc2
; Version 1.0.21
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"

View File

@@ -5,7 +5,7 @@
LIBRARY
EXPORTS
;Version 1.0.19rc2
;Version 1.0.21
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
@@ -179,7 +179,7 @@ EXPORTS
png_read_init_2 @166
png_write_init_2 @167
png_access_version_number @168
png_sig_bytes @169
; png_sig_bytes @169
png_libpng_ver @170
png_init_io @171
png_convert_to_rfc1123 @172