[devel] PNG_EXPORT changed to include an 'ordinal' field

for DEF file generation.

    PNG_CALLBACK added to make callback definitions uniform.  PNGAPI split
    into PNGCAPI (base C form), PNGAPI (exports) and PNGCBAPI (callbacks),
    and appropriate changes made to all files.  Cygwin builds re-hinged to
    allow procedure call standard changes and to remove the need for the DEF
    file (fixes build on Cygwin).

Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
to subscribe) or to glennrp at users.sourceforge.net

Glenn R-P
This commit is contained in:
Glenn Randers-Pehrson 2010-03-12 17:36:53 -06:00
parent 69dd5f56f8
commit eae8e36ec4
12 changed files with 545 additions and 518 deletions

View File

@ -1,5 +1,5 @@
Libpng 1.5.0beta14 - March 11, 2010
Libpng 1.5.0beta14 - March 12, 2010
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.
@ -97,7 +97,7 @@ version 1.5.0beta13 [March 10, 2010]
expressions (i.e. a trailing ';' must always be added) and correct
the format statements in various png_debug messages.
version 1.5.0beta14 [March 11, 2010]
version 1.5.0beta14 [March 12, 2010]
Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
Revised Makefile.am to account for recent additions and replacements.
Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
@ -105,6 +105,12 @@ version 1.5.0beta14 [March 11, 2010]
ordinal numbers on CE symbols that are commented out.
Added back in export symbols that can be present in the Windows build but
are disabled by default.
PNG_EXPORT changed to include an 'ordinal' field for DEF file generation.
PNG_CALLBACK added to make callback definitions uniform. PNGAPI split
into PNGCAPI (base C form), PNGAPI (exports) and PNGCBAPI (callbacks),
and appropriate changes made to all files. Cygwin builds re-hinged to
allow procedure call standard changes and to remove the need for the DEF
file (fixes build on Cygwin).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit

View File

@ -2574,7 +2574,7 @@ version 1.5.0beta13 [March 10, 2010]
expressions (i.e. a trailing ';' must always be added) and correct
the format statements in various png_debug messages.
version 1.5.0beta14 [March 11, 2010]
version 1.5.0beta14 [March 12, 2010]
Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
Revised Makefile.am to account for recent additions and replacements.
Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
@ -2582,6 +2582,12 @@ version 1.5.0beta14 [March 11, 2010]
ordinal numbers on CE symbols that are commented out.
Added back in export symbols that can be present in the Windows build but
are disabled by default.
PNG_EXPORT changed to include an 'ordinal' field for DEF file generation.
PNG_CALLBACK added to make callback definitions uniform. PNGAPI split
into PNGCAPI (base C form), PNGAPI (exports) and PNGCBAPI (callbacks),
and appropriate changes made to all files. Cygwin builds re-hinged to
allow procedure call standard changes and to remove the need for the DEF
file (fixes build on Cygwin).
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
(subscription required; visit

917
png.h

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.5.0beta14 - March 10, 2010
* libpng version 1.5.0beta14 - March 12, 2010
*
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -1177,10 +1177,10 @@ typedef char FAR * FAR * FAR * png_charppp;
#endif
#ifdef __CYGWIN__
# undef PNGAPI
# define PNGAPI __cdecl
# undef PNG_IMPEXP
# define PNG_IMPEXP
/*NOTE: Force __cdecl throughout CYGWIN */
# undef PNGCAPI
# define PNGCAPI __cdecl
/*Allow declspec through for the moment */
#endif
#define PNG_USE_LOCAL_ARRAYS /* Not used in libpng, defined for legacy apps */
@ -1193,6 +1193,7 @@ typedef char FAR * FAR * FAR * png_charppp;
*/
#if defined(__MINGW32__) && !defined(PNG_MODULEDEF)
/* NOTE: causes weird effects below. */
# ifndef PNG_NO_MODULEDEF
# define PNG_NO_MODULEDEF
# endif
@ -1206,11 +1207,11 @@ typedef char FAR * FAR * FAR * png_charppp;
(( defined(_Windows) || defined(_WINDOWS) || \
defined(WIN32) || defined(_WIN32) || defined(__WIN32__) ))
# ifndef PNGAPI
# ifndef PNGCAPI
# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
# define PNGAPI __cdecl
# define PNGCAPI __cdecl
# else
# define PNGAPI _cdecl
# define PNGCAPI _cdecl
# endif
# endif
@ -1221,15 +1222,12 @@ typedef char FAR * FAR * FAR * png_charppp;
# ifndef PNG_IMPEXP
# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol
# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol
/* Borland/Microsoft */
# if defined(_MSC_VER) || defined(__BORLANDC__)
# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500)
# define PNG_EXPORT PNG_EXPORT_TYPE1
/* Default order: PNG_IMPEXP before type */
# else
# define PNG_EXPORT PNG_EXPORT_TYPE2
# define PNG_EXPORT_OLD /* Use type PNG_IMPEXP order */
# ifdef PNG_BUILD_DLL
# define PNG_IMPEXP __export
# else
@ -1240,7 +1238,7 @@ typedef char FAR * FAR * FAR * png_charppp;
# endif
# ifndef PNG_IMPEXP
# ifdef PNG_BUILD_DLL
# ifdef PNGLIB_BUILD
# define PNG_IMPEXP __declspec(dllexport)
# else
# define PNG_IMPEXP __declspec(dllimport)
@ -1251,6 +1249,7 @@ typedef char FAR * FAR * FAR * png_charppp;
# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
# ifndef PNGAPI
# define PNGAPI _System
# define PNGCAPI
# endif
# else
# if 0 /* ... other platforms, with other meanings */
@ -1258,21 +1257,37 @@ typedef char FAR * FAR * FAR * png_charppp;
# endif
#endif
#ifndef PNGAPI
# define PNGAPI
#endif
#ifndef PNG_IMPEXP
# define PNG_IMPEXP
#endif
#ifdef PNG_BUILDSYMS
# ifndef PNG_EXPORT
# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END
#ifndef PNG_EXPORT
# ifdef PNG_BUILDSYMS
# define PNG_EXPORT(type, name, args, attributes, ordinal)\
PNG_FUNCTION_EXPORT name END
# else
# ifdef PNG_EXPORT_OLD
# define PNG_EXPORT(type, name, args, attributes, ordinal)\
type PNG_IMPEXP (PNGAPI name) PNGARG(args) attributes
# else
# define PNG_EXPORT(type, name, args, attributes, ordinal)\
PNG_IMPEXP type (PNGAPI name) PNGARG(args) attributes
# endif
# endif
#endif
#ifndef PNG_EXPORT
# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
#ifndef PNG_CALLBACK
# define PNG_CALLBACK(type, name, args, attributes)\
type (PNGCBAPI name) PNGARG(args) attributes
#endif
#ifndef PNGCAPI
# define PNGCAPI
#endif
#ifndef PNGCBAPI
# define PNGCBAPI PNGCAPI
#endif
#ifndef PNGAPI
# define PNGAPI PNGCAPI
#endif
#ifndef PNG_IMPEXP
# define PNG_IMPEXP
#endif
/* Support for compiler specific function attributes. These are used

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* Last changed in libpng version 1.5.0 - March 10, 2010
* Last changed in libpng version 1.5.0 - March 12, 2010
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* Last changed in libpng version 1.5.0 - March 10, 2010
* Last changed in libpng version 1.5.0 - March 12, 2010
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer

View File

@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
* Last changed in libpng 1.5.0 [March 10, 2010]
* Last changed in libpng 1.5.0 [March 12, 2010]
* Copyright (c) 1998-2010 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.)
@ -624,7 +624,7 @@ png_push_crc_finish(png_structp png_ptr)
}
}
void PNGAPI
void PNGCBAPI
png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, png_size_t length)
{
png_bytep ptr;

View File

@ -1,7 +1,7 @@
/* pngpriv.h - private declarations for use inside libpng
*
* libpng version 1.5.0beta14 - March 10, 2010
* libpng version 1.5.0beta14 - March 12, 2010
* For conditions of distribution and use, see copyright notice in png.h
* Copyright (c) 1998-2010 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@ -25,6 +25,7 @@
#define PNGPRIV_H
#define PNG_NO_PEDANTIC_WARNINGS
#define PNGLIB_BUILD
#include "png.h"
#include "pnginfo.h"
#include "pngstruct.h"
@ -280,23 +281,25 @@ PNG_EXTERN voidpf png_zalloc PNGARG((voidpf png_ptr, uInt items, uInt size));
/* Function to free memory for zlib. PNGAPI is disallowed. */
PNG_EXTERN void png_zfree PNGARG((voidpf png_ptr, voidpf ptr));
/* Next four functions are used internally as callbacks. PNGAPI is required
* but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3. */
/* Next four functions are used internally as callbacks. PNGCBAPI is required
* but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3, changed to PNGCBAPI
* at 1.5.0
*/
PNG_EXTERN void PNGAPI png_default_read_data PNGARG((png_structp png_ptr,
PNG_EXTERN void PNGCBAPI png_default_read_data PNGARG((png_structp png_ptr,
png_bytep data, png_size_t length));
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
PNG_EXTERN void PNGAPI png_push_fill_buffer PNGARG((png_structp png_ptr,
PNG_EXTERN void PNGCBAPI png_push_fill_buffer PNGARG((png_structp png_ptr,
png_bytep buffer, png_size_t length));
#endif
PNG_EXTERN void PNGAPI png_default_write_data PNGARG((png_structp png_ptr,
PNG_EXTERN void PNGCBAPI png_default_write_data PNGARG((png_structp png_ptr,
png_bytep data, png_size_t length));
#ifdef PNG_WRITE_FLUSH_SUPPORTED
# ifdef PNG_STDIO_SUPPORTED
PNG_EXTERN void PNGAPI png_default_flush PNGARG((png_structp png_ptr));
PNG_EXTERN void PNGCBAPI png_default_flush PNGARG((png_structp png_ptr));
# endif
#endif

View File

@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
* Last changed in libpng 1.5.0 [March 10, 2010]
* Last changed in libpng 1.5.0 [March 12, 2010]
* Copyright (c) 1998-2010 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.)
@ -46,7 +46,7 @@ png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
* than changing the library.
*/
# ifndef USE_FAR_KEYWORD
void PNGAPI
void PNGCBAPI
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
png_size_t check;
@ -70,7 +70,7 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
#define NEAR_BUF_SIZE 1024
#define MIN(a,b) (a <= b ? a : b)
static void PNGAPI
static void PNGCBAPI
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
png_size_t check;

View File

@ -5,7 +5,7 @@
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
* Last changed in libpng version 1.5.0 - March 10, 2010
* Last changed in libpng version 1.5.0 - March 12, 2010
*
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer

View File

@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
* Last changed in libpng 1.5.0 [March 11, 2010]
* Last changed in libpng 1.5.0 [March 12, 2010]
* Copyright (c) 1998-2010 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.)
@ -101,9 +101,9 @@ static int status_pass = 1;
static int status_dots_requested = 0;
static int status_dots = 1;
void
void PNGCBAPI
read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);
void
void PNGCBAPI
read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
{
if (png_ptr == NULL || row_number > PNG_UINT_31_MAX)
@ -123,9 +123,9 @@ read_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
fprintf(stdout, "r");
}
void
void PNGCBAPI
write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass);
void
void PNGCBAPI
write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
{
if (png_ptr == NULL || row_number > PNG_UINT_31_MAX || pass > 7)
@ -140,9 +140,9 @@ write_row_callback(png_structp png_ptr, png_uint_32 row_number, int pass)
* 5 in case illegal filter values are present.)
*/
static png_uint_32 filters_used[256];
void
void PNGCBAPI
count_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data);
void
void PNGCBAPI
count_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data)
{
if (png_ptr != NULL && row_info != NULL)
@ -157,9 +157,9 @@ count_filters(png_structp png_ptr, png_row_infop row_info, png_bytep data)
static png_uint_32 zero_samples;
void
void PNGCBAPI
count_zero_samples(png_structp png_ptr, png_row_infop row_info, png_bytep data);
void
void PNGCBAPI
count_zero_samples(png_structp png_ptr, png_row_infop row_info, png_bytep data)
{
png_bytep dp = data;
@ -588,7 +588,7 @@ static png_uint_32 user_chunk_data[4];
* 3: vpAg units
*/
static int read_user_chunk_callback(png_struct *png_ptr,
static int PNGCBAPI read_user_chunk_callback(png_struct *png_ptr,
png_unknown_chunkp chunk)
{
png_uint_32

View File

@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
* Last changed in libpng 1.5.0 [March 10, 2010]
* Last changed in libpng 1.5.0 [March 12, 2010]
* Copyright (c) 1998-2010 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.)
@ -45,7 +45,7 @@ png_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
* than changing the library.
*/
#ifndef USE_FAR_KEYWORD
void PNGAPI
void PNGCBAPI
png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
png_uint_32 check;
@ -65,7 +65,7 @@ png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
#define NEAR_BUF_SIZE 1024
#define MIN(a,b) (a <= b ? a : b)
void PNGAPI
void PNGCBAPI
png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
png_uint_32 check;
@ -123,7 +123,7 @@ png_flush(png_structp png_ptr)
}
# ifdef PNG_STDIO_SUPPORTED
void PNGAPI
void PNGCBAPI
png_default_flush(png_structp png_ptr)
{
png_FILE_p io_ptr;