summaryrefslogtreecommitdiff
path: root/src/lib/time/zoneinfo.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/time/zoneinfo.go')
-rw-r--r--src/lib/time/zoneinfo.go27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/lib/time/zoneinfo.go b/src/lib/time/zoneinfo.go
index 577434c91..62f86499e 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