aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/time/zoneinfo.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/time/zoneinfo.go b/src/time/zoneinfo.go
index d2bc642d81..54c76f09e1 100644
--- a/src/time/zoneinfo.go
+++ b/src/time/zoneinfo.go
@@ -288,14 +288,23 @@ func LoadLocation(name string) (*Location, error) {
env, _ := syscall.Getenv("ZONEINFO")
zoneinfo = &env
})
+ var firstErr error
if *zoneinfo != "" {
if zoneData, err := loadTzinfoFromDirOrZip(*zoneinfo, name); err == nil {
if z, err := LoadLocationFromTZData(name, zoneData); err == nil {
return z, nil
}
+ firstErr = err
+ } else if err != syscall.ENOENT {
+ firstErr = err
}
}
- return loadLocation(name, zoneSources)
+ if z, err := loadLocation(name, zoneSources); err == nil {
+ return z, nil
+ } else if firstErr == nil {
+ firstErr = err
+ }
+ return nil, firstErr
}
// containsDotDot reports whether s contains "..".