]> Cypherpunks repositories - gostls13.git/commitdiff
internal/pkgbits: add version number
authorMatthew Dempsky <mdempsky@google.com>
Tue, 1 Mar 2022 20:58:20 +0000 (12:58 -0800)
committerMatthew Dempsky <mdempsky@google.com>
Tue, 1 Mar 2022 22:02:33 +0000 (22:02 +0000)
Especially once this code gets copied into x/tools, we need a way to
evolve the file format, so add an explicit version number.

Change-Id: I9cc2e357c3ca3f07fd8d0c0ba4e4a95f89edeac6
Reviewed-on: https://go-review.googlesource.com/c/go/+/388914
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/internal/pkgbits/decoder.go
src/internal/pkgbits/encoder.go

index 537d48d899287ce1d8f6cdf29cc120a17d78077c..9c8ad446ca4d36590ea18e7daddde474780cab9d 100644 (file)
@@ -37,6 +37,10 @@ func NewPkgDecoder(pkgPath, input string) PkgDecoder {
 
        r := strings.NewReader(input)
 
+       var version uint32
+       assert(binary.Read(r, binary.LittleEndian, &version) == nil)
+       assert(version == 0)
+
        assert(binary.Read(r, binary.LittleEndian, pr.elemEndsEnds[:]) == nil)
 
        pr.elemEnds = make([]uint32, pr.elemEndsEnds[len(pr.elemEndsEnds)-1])
index 87ef50ed8b2032d587ad3709487cec8881594f7c..820c707940abc359283b97e9a45f3211a31d2e43 100644 (file)
@@ -35,6 +35,8 @@ func (pw *PkgEncoder) DumpTo(out io.Writer) {
                assert(binary.Write(out, binary.LittleEndian, x) == nil)
        }
 
+       writeUint32(0) // version
+
        var sum uint32
        for _, elems := range &pw.elems {
                sum += uint32(len(elems))