diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-25 19:42:33 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-25 19:42:33 +0000 |
commit | 7ea58be8ea64c11f1daac0c17401670c22c7d034 (patch) | |
tree | 31658d2c4b57a392ca982362b48b4d717de57495 /libgo/go/time | |
parent | e0519e0586e490e64776a9a0e51cfca5e1e6540a (diff) | |
download | gcc-7ea58be8ea64c11f1daac0c17401670c22c7d034.tar.gz |
libgo/time: Support Irix 6 location of zoneinfo files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172936 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/time')
-rw-r--r-- | libgo/go/time/zoneinfo_unix.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libgo/go/time/zoneinfo_unix.go b/libgo/go/time/zoneinfo_unix.go index 6685da7477b..42659ed6062 100644 --- a/libgo/go/time/zoneinfo_unix.go +++ b/libgo/go/time/zoneinfo_unix.go @@ -17,8 +17,6 @@ import ( const ( headerSize = 4 + 16 + 4*7 - zoneDir = "/usr/share/zoneinfo/" - zoneDir2 = "/usr/share/lib/zoneinfo/" ) // Simple I/O interface to binary blob of data. @@ -211,16 +209,22 @@ func setupZone() { // no $TZ means use the system default /etc/localtime. // $TZ="" means use UTC. // $TZ="foo" means use /usr/share/zoneinfo/foo. + // Many systems use /usr/share/zoneinfo, Solaris 2 has + // /usr/share/lib/zoneinfo, IRIX 6 has /usr/lib/locale/TZ. + zoneDirs := []string{"/usr/share/zoneinfo/", + "/usr/share/lib/zoneinfo/", + "/usr/lib/locale/TZ/"} tz, err := os.Getenverror("TZ") switch { case err == os.ENOENV: zones, _ = readinfofile("/etc/localtime") case len(tz) > 0: - var ok bool - zones, ok = readinfofile(zoneDir + tz) - if !ok { - zones, _ = readinfofile(zoneDir2 + tz) + for _, zoneDir := range zoneDirs { + var ok bool + if zones, ok = readinfofile(zoneDir + tz); ok { + break + } } case len(tz) == 0: // do nothing: use UTC |