[libpng16] Imported from libpng-1.6.18beta07.tar

This commit is contained in:
Glenn Randers-Pehrson 2015-06-06 16:31:52 -05:00
parent b26b51d154
commit 867f2ec058
20 changed files with 69 additions and 48 deletions

View File

@ -1,4 +1,4 @@
Libpng 1.6.18beta07 - June 3, 2015 Libpng 1.6.18beta07 - June 6, 2015
This is not intended to be a public release. It will be replaced 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. within a few weeks by a public version or by another test version.
@ -69,7 +69,7 @@ Version 1.6.18beta06 [June 1, 2015]
png_set_filter_heuristics_fixed() APIs are retained but deprecated png_set_filter_heuristics_fixed() APIs are retained but deprecated
and do nothing. and do nothing.
Version 1.6.18beta07 [June 3, 2015] Version 1.6.18beta07 [June 6, 2015]
Removed non-working progressive reader 'skip' function. This Removed non-working progressive reader 'skip' function. This
function has apparently never been used. It was implemented function has apparently never been used. It was implemented
to support back-door modification of png_struct in libpng-1.4.x to support back-door modification of png_struct in libpng-1.4.x
@ -80,9 +80,12 @@ Version 1.6.18beta07 [June 3, 2015]
being lost over the setjmp (John Bowler). being lost over the setjmp (John Bowler).
Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler). Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler).
Fix g++ build breaks (John Bowler). Fix g++ build breaks (John Bowler).
Quieted Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c, Quieted some Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c,
pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt
would only work with iTXt chunks with length 255 or less. would only work with iTXt chunks with length 255 or less.
Added #ifdef's to contrib/examples programs so people don't try
to compile them without the minimum required support enabled
(suggested by Flavio Medeiros).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -5254,7 +5254,7 @@ Version 1.6.18beta06 [June 1, 2015]
png_set_filter_heuristics_fixed() APIs are retained but deprecated png_set_filter_heuristics_fixed() APIs are retained but deprecated
and do nothing. and do nothing.
Version 1.6.18beta07 [June 3, 2015] Version 1.6.18beta07 [June 6, 2015]
Removed non-working progressive reader 'skip' function. This Removed non-working progressive reader 'skip' function. This
function has apparently never been used. It was implemented function has apparently never been used. It was implemented
to support back-door modification of png_struct in libpng-1.4.x to support back-door modification of png_struct in libpng-1.4.x
@ -5265,9 +5265,12 @@ Version 1.6.18beta07 [June 3, 2015]
being lost over the setjmp (John Bowler). being lost over the setjmp (John Bowler).
Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler). Fixed NO_WRITE_FILTER and -Wconversion build breaks (John Bowler).
Fix g++ build breaks (John Bowler). Fix g++ build breaks (John Bowler).
Quieted Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c, Quieted some Coverity issues in pngfix.c, png-fix-itxt.c, pngvalid.c,
pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt pngstest.c, and pngimage.c. Most seem harmless, but png-fix-itxt
would only work with iTXt chunks with length 255 or less. would only work with iTXt chunks with length 255 or less.
Added #ifdef's to contrib/examples programs so people don't try
to compile them without the minimum required support enabled
(suggested by Flavio Medeiros).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit (subscription required; visit

View File

@ -10,7 +10,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.6.18beta07, June 1, 2015, are libpng versions 1.2.6, August 15, 2004, through 1.6.18beta07, June 6, 2015, are
Copyright (c) 2004, 2006-2015 Glenn Randers-Pehrson, and are Copyright (c) 2004, 2006-2015 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -108,4 +108,4 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
June 1, 2015 June 6, 2015

2
README
View File

@ -1,4 +1,4 @@
README for libpng version 1.6.18beta07 - June 1, 2015 (shared library 16.0) README for libpng version 1.6.18beta07 - June 6, 2015 (shared library 16.0)
See the note about version numbers near the top of png.h See the note about version numbers near the top of png.h
See INSTALL for instructions on how to install libpng. See INSTALL for instructions on how to install libpng.

View File

@ -26,6 +26,10 @@
#include <png.h> #include <png.h>
#if defined(PNG_READ_SUPPORTED) && defined(PNG_STDIO_SUPPORTED) && \
defined (PNG_iCCP_SUPPORTED)
static int verbose = 1; static int verbose = 1;
static png_byte no_profile[] = "no profile"; static png_byte no_profile[] = "no profile";
@ -178,3 +182,4 @@ main(int argc, char **argv)
/* Exit code is true if any extract succeeds */ /* Exit code is true if any extract succeeds */
return extracted == 0; return extracted == 0;
} }
#endif /* READ && STDIO && iCCP */

View File

@ -27,6 +27,8 @@
*/ */
#include "../../png.h" #include "../../png.h"
#if defined(PNG_READ_SUPPORTED) && defined(PNG_SEQUENTIAL_READ_SUPPORTED)
/* Return component 'c' of pixel 'x' from the given row. */ /* Return component 'c' of pixel 'x' from the given row. */
static unsigned int static unsigned int
component(png_const_bytep row, png_uint_32 x, unsigned int c, component(png_const_bytep row, png_uint_32 x, unsigned int c,
@ -366,3 +368,4 @@ int main(int argc, const char **argv)
return result; return result;
} }
#endif /* READ && SEQUENTIAL_READ */

View File

@ -20,6 +20,8 @@
* ensure the code picks up the local libpng implementation: * ensure the code picks up the local libpng implementation:
*/ */
#include "../../png.h" #include "../../png.h"
#if defined(PNG_SIMPLIFIED_READ_SUPPORTED) && \
defined(PNG_SIMPLIFIED_WRITE_SUPPORTED)
int main(int argc, const char **argv) int main(int argc, const char **argv)
{ {
@ -90,3 +92,4 @@ int main(int argc, const char **argv)
return result; return result;
} }
#endif /* READ && WRITE */

View File

@ -44,6 +44,8 @@
*/ */
#include "../../png.h" #include "../../png.h"
#ifdef PNG_SIMPLIFIED_READ_SUPPORTED
#define sprite_name_chars 15 #define sprite_name_chars 15
struct sprite { struct sprite {
FILE *file; FILE *file;
@ -643,3 +645,4 @@ int main(int argc, const char **argv)
return result; return result;
} }
#endif /* SIMPLIFIED_READ */

View File

@ -3245,7 +3245,8 @@ write_one_file(Image *output, Image *image, int convert_to_8bit)
if (image->opts & USE_STDIO) if (image->opts & USE_STDIO)
{ {
FILE *f = tmpfile(); char tmpfile[] = "pngstest-XXXXXX";
FILE *f = fopen(mktemp(tmpfile),"w+");
if (f != NULL) if (f != NULL)
{ {

View File

@ -1,8 +1,8 @@
/* png-fix-itxt version 1.0.0 /* png-fix-itxt version 1.0.0
* *
* Copyright 2013 Glenn Randers-Pehrson * Copyright 2015 Glenn Randers-Pehrson
* Last changed in libpng 1.6.3 [July 18, 2013] * Last changed in libpng 1.6.18 [(PENDING RELEASE)]
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer * For conditions of distribution and use, see the disclaimer
@ -57,16 +57,16 @@ for (;;)
{ {
/* Read the length */ /* Read the length */
unsigned long length; /* must be 32 bits! */ unsigned long length; /* must be 32 bits! */
c=GETBREAK; buf[0] = c; length = c; length <<= 8; c=GETBREAK; buf[0] = c & 0xff; length = (c & 0xff); length <<= 8;
c=GETBREAK; buf[1] = c; length += c; length <<= 8; c=GETBREAK; buf[1] = c & 0xff; length += (c & 0xff); length <<= 8;
c=GETBREAK; buf[2] = c; length += c; length <<= 8; c=GETBREAK; buf[2] = c & 0xff; length += (c & 0xff); length <<= 8;
c=GETBREAK; buf[3] = c; length += c; c=GETBREAK; buf[3] = c & 0xff; length += (c & 0xff);
/* Read the chunkname */ /* Read the chunkname */
c=GETBREAK; buf[4] = c; c=GETBREAK; buf[4] = c & 0xff;
c=GETBREAK; buf[5] = c; c=GETBREAK; buf[5] = c & 0xff;
c=GETBREAK; buf[6] = c; c=GETBREAK; buf[6] = c & 0xff;
c=GETBREAK; buf[7] = c; c=GETBREAK; buf[7] = c & 0xff;
/* The iTXt chunk type expressed as integers is (105, 84, 88, 116) */ /* The iTXt chunk type expressed as integers is (105, 84, 88, 116) */
@ -81,7 +81,7 @@ for (;;)
/* Copy the data bytes */ /* Copy the data bytes */
for (i=8; i < length + 12; i++) for (i=8; i < length + 12; i++)
{ {
c=GETBREAK; buf[i] = c; c=GETBREAK; buf[i] = c & 0xff;
} }
/* Calculate the CRC */ /* Calculate the CRC */
@ -102,16 +102,16 @@ for (;;)
break; break;
c=GETBREAK; c=GETBREAK;
buf[length+11]=c; buf[length+11] = c & 0xff;
/* Update the CRC */ /* Update the CRC */
crc = crc32(crc, buf+7+length, 1); crc = crc32(crc, buf+7+length, 1);
} }
/* Update length bytes */ /* Update length bytes */
buf[0] = (unsigned char)((length << 24) & 0xff); buf[0] = (unsigned char)((length >> 24) & 0xff);
buf[1] = (unsigned char)((length << 16) & 0xff); buf[1] = (unsigned char)((length >> 16) & 0xff);
buf[2] = (unsigned char)((length << 8) & 0xff); buf[2] = (unsigned char)((length >> 8) & 0xff);
buf[3] = (unsigned char)((length ) & 0xff); buf[3] = (unsigned char)((length ) & 0xff);
/* Write the fixed iTXt chunk (length, name, data, crc) */ /* Write the fixed iTXt chunk (length, name, data, crc) */
@ -129,7 +129,7 @@ for (;;)
for (i=8; i< length+12; i++) for (i=8; i< length+12; i++)
{ {
c=GETBREAK; c=GETBREAK;
putchar(c); putchar((c & 0xff));
} }
if (inchar == EOF) if (inchar == EOF)

View File

@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.6.18beta07 - June 1, 2015 libpng version 1.6.18beta07 - June 6, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.6.18beta07 - June 1, 2015 libpng versions 0.97, January 1998, through 1.6.18beta07 - June 6, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -5297,7 +5297,7 @@ Other rules can be inferred by inspecting the libpng source.
XVI. Y2K Compliance in libpng XVI. Y2K Compliance in libpng
June 1, 2015 June 6, 2015
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.

View File

@ -1,4 +1,4 @@
.TH LIBPNG 3 "June 1, 2015" .TH LIBPNG 3 "June 6, 2015"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18beta07 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18beta07
.SH SYNOPSIS .SH SYNOPSIS
@ -504,7 +504,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT .SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng libpng-manual.txt - A description on how to use and modify libpng
libpng version 1.6.18beta07 - June 1, 2015 libpng version 1.6.18beta07 - June 6, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
<glennrp at users.sourceforge.net> <glennrp at users.sourceforge.net>
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -515,7 +515,7 @@ libpng-manual.txt - A description on how to use and modify libpng
Based on: Based on:
libpng versions 0.97, January 1998, through 1.6.18beta07 - June 1, 2015 libpng versions 0.97, January 1998, through 1.6.18beta07 - June 6, 2015
Updated and distributed by Glenn Randers-Pehrson Updated and distributed by Glenn Randers-Pehrson
Copyright (c) 1998-2015 Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson
@ -5801,7 +5801,7 @@ Other rules can be inferred by inspecting the libpng source.
.SH XVI. Y2K Compliance in libpng .SH XVI. Y2K Compliance in libpng
June 1, 2015 June 6, 2015
Since the PNG Development group is an ad-hoc body, we can't make Since the PNG Development group is an ad-hoc body, we can't make
an official declaration. an official declaration.
@ -6119,7 +6119,7 @@ possible without all of you.
Thanks to Frank J. T. Wojcik for helping with the documentation. Thanks to Frank J. T. Wojcik for helping with the documentation.
Libpng version 1.6.18beta07 - June 1, 2015: Libpng version 1.6.18beta07 - June 6, 2015:
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
@ -6142,7 +6142,7 @@ this sentence.
This code is released under the libpng license. This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.6.18beta07, June 1, 2015, are libpng versions 1.2.6, August 15, 2004, through 1.6.18beta07, June 6, 2015, are
Copyright (c) 2004,2006-2015 Glenn Randers-Pehrson, and are Copyright (c) 2004,2006-2015 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5 distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors with the following individual added to the list of Contributing Authors
@ -6241,7 +6241,7 @@ certification mark of the Open Source Initiative.
Glenn Randers-Pehrson Glenn Randers-Pehrson
glennrp at users.sourceforge.net glennrp at users.sourceforge.net
June 1, 2015 June 6, 2015
.\" end of man page .\" end of man page

View File

@ -1,4 +1,4 @@
.TH LIBPNGPF 3 "June 1, 2015" .TH LIBPNGPF 3 "June 6, 2015"
.SH NAME .SH NAME
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18beta07 libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18beta07
(private functions) (private functions)

2
png.5
View File

@ -1,4 +1,4 @@
.TH PNG 5 "June 1, 2015" .TH PNG 5 "June 6, 2015"
.SH NAME .SH NAME
png \- Portable Network Graphics (PNG) format png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION .SH DESCRIPTION

4
png.c
View File

@ -766,13 +766,13 @@ png_get_copyright(png_const_structrp png_ptr)
#else #else
# ifdef __STDC__ # ifdef __STDC__
return PNG_STRING_NEWLINE \ return PNG_STRING_NEWLINE \
"libpng version 1.6.18beta07 - June 3, 2015" PNG_STRING_NEWLINE \ "libpng version 1.6.18beta07 - June 6, 2015" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
"Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \
PNG_STRING_NEWLINE; PNG_STRING_NEWLINE;
# else # else
return "libpng version 1.6.18beta07 - June 3, 2015\ return "libpng version 1.6.18beta07 - June 6, 2015\
Copyright (c) 1998-2015 Glenn Randers-Pehrson\ Copyright (c) 1998-2015 Glenn Randers-Pehrson\
Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1996-1997 Andreas Dilger\
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.";

10
png.h
View File

@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library /* png.h - header file for PNG reference library
* *
* libpng version 1.6.18beta07, June 1, 2015 * libpng version 1.6.18beta07, June 6, 2015
* *
* Copyright (c) 1998-2015 Glenn Randers-Pehrson * Copyright (c) 1998-2015 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -12,7 +12,7 @@
* Authors and maintainers: * Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * 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.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.18beta07, June 1, 2015: Glenn * libpng versions 0.97, January 1998, through 1.6.18beta07, June 6, 2015: Glenn
* See also "Contributing Authors", below. * See also "Contributing Authors", below.
* *
* Note about libpng version numbers: * Note about libpng version numbers:
@ -248,7 +248,7 @@
* *
* This code is released under the libpng license. * This code is released under the libpng license.
* *
* libpng versions 1.2.6, August 15, 2004, through 1.6.18beta07, June 1, 2015, are * libpng versions 1.2.6, August 15, 2004, through 1.6.18beta07, June 6, 2015, are
* Copyright (c) 2004, 2006-2015 Glenn Randers-Pehrson, and are * Copyright (c) 2004, 2006-2015 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5 * distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors: * with the following individual added to the list of Contributing Authors:
@ -360,7 +360,7 @@
* Y2K compliance in libpng: * Y2K compliance in libpng:
* ========================= * =========================
* *
* June 1, 2015 * June 6, 2015
* *
* Since the PNG Development group is an ad-hoc body, we can't make * Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration. * an official declaration.
@ -430,7 +430,7 @@
/* Version information for png.h - this should match the version in png.c */ /* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.18beta07" #define PNG_LIBPNG_VER_STRING "1.6.18beta07"
#define PNG_HEADER_VERSION_STRING \ #define PNG_HEADER_VERSION_STRING \
" libpng version 1.6.18beta07 - June 1, 2015\n" " libpng version 1.6.18beta07 - June 6, 2015\n"
#define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16 #define PNG_LIBPNG_VER_DLLNUM 16

View File

@ -1,7 +1,7 @@
VisualStudio instructions VisualStudio instructions
libpng version 1.6.18beta07 - June 1, 2015 libpng version 1.6.18beta07 - June 6, 2015
Copyright (c) 1998-2010 Glenn Randers-Pehrson Copyright (c) 1998-2010 Glenn Randers-Pehrson

View File

@ -2,7 +2,7 @@
<!-- <!--
* zlib.props - location of zlib source * zlib.props - location of zlib source
* *
* libpng version 1.6.18beta07 - June 1, 2015 * libpng version 1.6.18beta07 - June 6, 2015
* *
* Copyright (c) 1998-2011 Glenn Randers-Pehrson * Copyright (c) 1998-2011 Glenn Randers-Pehrson
* *

View File

@ -1,5 +1,5 @@
Makefiles for libpng version 1.6.18beta07 - June 1, 2015 Makefiles for libpng version 1.6.18beta07 - June 6, 2015
pnglibconf.h.prebuilt => Stores configuration settings pnglibconf.h.prebuilt => Stores configuration settings
makefile.linux => Linux/ELF makefile makefile.linux => Linux/ELF makefile

View File

@ -2,7 +2,7 @@
/* pnglibconf.h - library build configuration */ /* pnglibconf.h - library build configuration */
/* Libpng version 1.6.18beta07 - June 1, 2015 */ /* Libpng version 1.6.18beta07 - June 6, 2015 */
/* Copyright (c) 1998-2014 Glenn Randers-Pehrson */ /* Copyright (c) 1998-2014 Glenn Randers-Pehrson */