diff options
| author | Rob Pike <r@golang.org> | 2009-03-07 16:56:05 -0800 |
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2009-03-07 16:56:05 -0800 |
| commit | c5560d3aaae55e266beb2cb96049f769006bbbf7 (patch) | |
| tree | 9f1d30be99e96191c3c502ad77ee77e847116b38 /src/lib/time/zoneinfo.go | |
| parent | 1e37e8a417dc36bc6da6828cd7c20dd53d4ba6a9 (diff) | |
| download | go-c5560d3aaae55e266beb2cb96049f769006bbbf7.tar.xz | |
document time
R=rsc
DELTA=42 (23 added, 1 deleted, 18 changed)
OCL=25881
CL=25886
Diffstat (limited to 'src/lib/time/zoneinfo.go')
| -rw-r--r-- | src/lib/time/zoneinfo.go | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/lib/time/zoneinfo.go b/src/lib/time/zoneinfo.go index 577434c915..62f86499e5 100644 --- a/src/lib/time/zoneinfo.go +++ b/src/lib/time/zoneinfo.go @@ -22,9 +22,10 @@ const ( zoneDir = "/usr/share/zoneinfo/"; ) +// Errors that can be generated recovering time zone information. var ( - BadZoneinfo = os.NewError("time: malformed zoneinfo"); - NoZoneinfo = os.NewError("time: unknown time zone") + badZoneinfo = os.NewError("time: malformed zoneinfo"); + noZoneinfo = os.NewError("time: unknown time zone") ) // Simple I/O interface to binary blob of data. @@ -92,13 +93,13 @@ func parseinfo(bytes []byte) (zt []zonetime, err *os.Error) { // 4-byte magic "TZif" if magic := d.read(4); string(magic) != "TZif" { - return nil, BadZoneinfo + return nil, badZoneinfo } // 1-byte version, then 15 bytes of padding var p []byte; if p = d.read(16); len(p) != 16 || p[0] != 0 && p[0] != '2' { - return nil, BadZoneinfo + return nil, badZoneinfo } vers := p[0]; @@ -121,7 +122,7 @@ func parseinfo(bytes []byte) (zt []zonetime, err *os.Error) { for i := 0; i < 6; i++ { nn, ok := d.big4(); if !ok { - return nil, BadZoneinfo + return nil, badZoneinfo } n[i] = int(nn); } @@ -150,7 +151,7 @@ func parseinfo(bytes []byte) (zt []zonetime, err *os.Error) { isutc := d.read(n[NUTCLocal]); if d.error { // ran out of data - return nil, BadZoneinfo + return nil, badZoneinfo } // If version == 2, the entire file repeats, this time using @@ -165,16 +166,16 @@ func parseinfo(bytes []byte) (zt []zonetime, err *os.Error) { var ok bool; var n uint32; if n, ok = zonedata.big4(); !ok { - return nil, BadZoneinfo + return nil, badZoneinfo } z[i].utcoff = int(n); var b byte; if b, ok = zonedata.byte(); !ok { - return nil, BadZoneinfo + return nil, badZoneinfo } z[i].isdst = b != 0; if b, ok = zonedata.byte(); !ok || int(b) >= len(abbrev) { - return nil, BadZoneinfo + return nil, badZoneinfo } z[i].name = byteString(abbrev[b:len(abbrev)]) } @@ -185,11 +186,11 @@ func parseinfo(bytes []byte) (zt []zonetime, err *os.Error) { var ok bool; var n uint32; if n, ok = txtimes.big4(); !ok { - return nil, BadZoneinfo + return nil, badZoneinfo } zt[i].time = int32(n); if int(txzones[i]) >= len(z) { - return nil, BadZoneinfo + return nil, badZoneinfo } zt[i].zone = &z[txzones[i]]; if i < len(isstd) { @@ -211,7 +212,7 @@ func readfile(name string, max int) (p []byte, err *os.Error) { n, err1 := io.Readn(fd, p); fd.Close(); if err1 == nil { // too long - return nil, BadZoneinfo; + return nil, badZoneinfo; } if err1 != io.ErrEOF { return nil, err1; @@ -251,7 +252,7 @@ func setupZone() { } } -func LookupTimezone(sec int64) (zone string, offset int, err *os.Error) { +func lookupTimezone(sec int64) (zone string, offset int, err *os.Error) { once.Do(setupZone); if zoneerr != nil || len(zones) == 0 { return "UTC", 0, zoneerr |
