~ubuntu-branches/debian/squeeze/stella/squeeze

« back to all changes in this revision

Viewing changes to src/macosx/libpng/Y2KINFO

  • Committer: Bazaar Package Importer
  • Author(s): Mario Iseli
  • Date: 2006-04-08 18:38:25 UTC
  • mfrom: (1.1.2 upstream) (2.1.1 etch)
  • Revision ID: james.westby@ubuntu.com-20060408183825-vu1jk57rk929derx
* New Maintainer (Closes: #361345)
* New upstream release (Closes: #349725)
* Build-Depend now on libslang2-dev (Closes: #325577)
* Complete rebuild of debian/, upgraded to policy-standards
  3.6.2 and compat-level 5.
* Removed stellarc since stella only reads ~/.stellarc and even
  works without a first config.
* New debian/watch file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
   Y2K compliance in libpng:
 
2
   =========================
 
3
 
 
4
      October 3, 2002
 
5
 
 
6
      Since the PNG Development group is an ad-hoc body, we can't make
 
7
      an official declaration.
 
8
 
 
9
      This is your unofficial assurance that libpng from version 0.71 and
 
10
      upward through 1.2.5 are Y2K compliant.  It is my belief that earlier
 
11
      versions were also Y2K compliant.
 
12
 
 
13
      Libpng only has three year fields.  One is a 2-byte unsigned integer
 
14
      that will hold years up to 65535.  The other two hold the date in text
 
15
      format, and will hold years up to 9999.
 
16
 
 
17
      The integer is
 
18
          "png_uint_16 year" in png_time_struct.
 
19
 
 
20
      The strings are
 
21
          "png_charp time_buffer" in png_struct and
 
22
          "near_time_buffer", which is a local character string in png.c.
 
23
 
 
24
      There are seven time-related functions:
 
25
 
 
26
          png_convert_to_rfc_1123() in png.c
 
27
            (formerly png_convert_to_rfc_1152() in error)
 
28
          png_convert_from_struct_tm() in pngwrite.c, called in pngwrite.c
 
29
          png_convert_from_time_t() in pngwrite.c
 
30
          png_get_tIME() in pngget.c
 
31
          png_handle_tIME() in pngrutil.c, called in pngread.c
 
32
          png_set_tIME() in pngset.c
 
33
          png_write_tIME() in pngwutil.c, called in pngwrite.c
 
34
 
 
35
      All appear to handle dates properly in a Y2K environment.  The
 
36
      png_convert_from_time_t() function calls gmtime() to convert from system
 
37
      clock time, which returns (year - 1900), which we properly convert to
 
38
      the full 4-digit year.  There is a possibility that applications using
 
39
      libpng are not passing 4-digit years into the png_convert_to_rfc_1123()
 
40
      function, or that they are incorrectly passing only a 2-digit year
 
41
      instead of "year - 1900" into the png_convert_from_struct_tm() function,
 
42
      but this is not under our control.  The libpng documentation has always
 
43
      stated that it works with 4-digit years, and the APIs have been
 
44
      documented as such.
 
45
 
 
46
      The tIME chunk itself is also Y2K compliant.  It uses a 2-byte unsigned
 
47
      integer to hold the year, and can hold years as large as 65535.
 
48
 
 
49
      zlib, upon which libpng depends, is also Y2K compliant.  It contains
 
50
      no date-related code.
 
51
 
 
52
 
 
53
         Glenn Randers-Pehrson
 
54
         libpng maintainer
 
55
         PNG Development Group