mirror of https://github.com/golang/go.git
time: support version 3 zone records
Fixes #8134 LGTM=iant R=golang-codereviews, iant CC=golang-codereviews, r, rsc https://golang.org/cl/100930044
This commit is contained in:
parent
eb54079264
commit
14a75ecf4a
|
|
@ -68,7 +68,7 @@ func loadZoneData(bytes []byte) (l *Location, err error) {
|
|||
|
||||
// 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' {
|
||||
if p = d.read(16); len(p) != 16 || p[0] != 0 && p[0] != '2' && p[0] != '3' {
|
||||
return nil, badData
|
||||
}
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ func loadZoneData(bytes []byte) (l *Location, err error) {
|
|||
return nil, badData
|
||||
}
|
||||
|
||||
// If version == 2, the entire file repeats, this time using
|
||||
// If version == 2 or 3, the entire file repeats, this time using
|
||||
// 8-byte ints for txtimes and leap seconds.
|
||||
// We won't need those until 2106.
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,15 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
func TestVersion3(t *testing.T) {
|
||||
time.ForceZipFileForTesting(true)
|
||||
defer time.ForceZipFileForTesting(false)
|
||||
_, err := time.LoadLocation("Asia/Jerusalem")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// Test that we get the correct results for times before the first
|
||||
// transition time. To do this we explicitly check early dates in a
|
||||
// couple of specific timezones.
|
||||
|
|
|
|||
Loading…
Reference in New Issue