]> Cypherpunks repositories - gostls13.git/commitdiff
time: fix test error in Chinese edition of Windows
authorShenghou Ma <minux.ma@gmail.com>
Tue, 17 Dec 2013 07:43:14 +0000 (02:43 -0500)
committerShenghou Ma <minux.ma@gmail.com>
Tue, 17 Dec 2013 07:43:14 +0000 (02:43 -0500)
On the Chinese Windows XP system that I'm using, GetTimeZoneInformation returns a struct containing "中国标准时间" (China Standard Time in Chinese) in both StandardName and DaylightName (which is correct, because China does not use DST). However, in registry, under key HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time, the key Std and Dlt contain "中国标准时间" (China Standard Time in Chinese) and "中国夏季时间" (China Summer Time in Chinese) respectively. This means that time.toEnglishName() cannot determine the abbreviation for the local timezone (CST) and causes test failures (time.Local is empty)

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/43210043

src/pkg/time/zoneinfo_windows.go

index be4e5c13ff018104e1d86503b679dc7f68cc9efa..7e4d146d89eed68f4bfcdd1984cafde87471f2ed 100644 (file)
@@ -54,7 +54,7 @@ func matchZoneKey(zones syscall.Handle, kname string, stdname, dstname string) (
        if err != nil {
                return false, err
        }
-       if s != dstname {
+       if s != dstname && dstname != stdname {
                return false, nil
        }
        return true, nil