]> Cypherpunks repositories - gostls13.git/commitdiff
time: prepare for 64-bit ints
authorRuss Cox <rsc@golang.org>
Mon, 24 Sep 2012 03:04:28 +0000 (23:04 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 24 Sep 2012 03:04:28 +0000 (23:04 -0400)
The code was trying to interpret a uint32 n as a signed quantity
and then store it in an int. For this, int(n) currently works, but when
int becomes 64 bits one must write int(int32(n)) instead, to get
the 32-bit sign extension.

Update #2188.

R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/6551068

src/pkg/time/zoneinfo_read.go

index ebb4205a98fd960bafa36f2fbff302e4f855eade..d57c09e115ff31f06faa3cb1128dab2c67d96aaf 100644 (file)
@@ -141,7 +141,7 @@ func loadZoneData(bytes []byte) (l *Location, err error) {
                if n, ok = zonedata.big4(); !ok {
                        return nil, badData
                }
-               zone[i].offset = int(n)
+               zone[i].offset = int(int32(n))
                var b byte
                if b, ok = zonedata.byte(); !ok {
                        return nil, badData