From: Max Riveiro Date: Sun, 11 Dec 2016 10:54:22 +0000 (+0300) Subject: time: parse WITA timezone correctly X-Git-Tag: go1.8beta2~41 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bc61026c3f60d0d449e1cb292ef202daa1c2d019;p=gostls13.git time: parse WITA timezone correctly WITA stands for Asia/Makassar IANA timezone https://en.wikipedia.org/wiki/Asia/Makassar Fixes #18251 Change-Id: I5896efb8052593afb4e51ae4a34b574a8206d4dc Reviewed-on: https://go-review.googlesource.com/34253 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/time/format.go b/src/time/format.go index 3fbfa734d0..b903e1485c 100644 --- a/src/time/format.go +++ b/src/time/format.go @@ -1101,8 +1101,9 @@ func parseTimeZone(value string) (length int, ok bool) { if value[4] == 'T' { return 5, true } - case 4: // Must end in T to match. - if value[3] == 'T' { + case 4: + // Must end in T, except one special case. + if value[3] == 'T' || value[:4] == "WITA" { return 4, true } case 3: diff --git a/src/time/format_test.go b/src/time/format_test.go index aa4434a09c..219c2caee8 100644 --- a/src/time/format_test.go +++ b/src/time/format_test.go @@ -405,6 +405,7 @@ var parseTimeZoneTests = []ParseTimeZoneTest{ {"ESAST hi", 5, true}, {"ESASTT hi", 0, false}, // run of upper-case letters too long. {"ESATY hi", 0, false}, // five letters must end in T. + {"WITA hi", 4, true}, // Issue #18251 } func TestParseTimeZone(t *testing.T) {