Appendix F Open Software Announcements

*Thanks to Frank J. T. Wojcik for helping with the documentation. */

/*

*Y2K compliance in libpng:

*=========================

*October 3, 2002

*

*Since the PNG Development group is an ad-hoc body, we can't make

*an official declaration.

*

*This is your unofficial assurance that libpng from version 0.71 and

*upward through 1.2.5 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 will hold years up to 65535. The other two hold the date in text

*format, and will hold years up to 9999.

*

*The integer is

*"png_uint_16 year" in png_time_struct.

*The strings are

*"png_charp time_buffer" in png_struct and

*"near_time_buffer", which is a local character string in png.c.

*There are seven time-related functions:

*png.c: png_convert_to_rfc_1123() in png.c

*(formerly png_convert_to_rfc_1152() in error)

*png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c

*png_convert_from_time_t() in pngwrite.c

*png_get_tIME() in pngget.c

*png_handle_tIME() in pngrutil.c, called in pngread.c

*png_set_tIME() in pngset.c

*png_write_tIME() in pngwutil.c, called in pngwrite.c

*

* All handle dates properly in a Y2K environment. The

142

 

DMA-1000 Series User’s Guide