• Matthew Dempsky's avatar
    cmd/internal/ld: fix package data parsing · d533e395
    Matthew Dempsky authored
    The conversion of this logic from C introduced a few subtle behavior
    changes.  E.g., assigning "name := data[p0:]" and then "name =
    name[:p1-p0]" actually caused name to span the vast majority of the
    package data, as at the time of the second statement p0 points just
    after the package name and p1 points to the end of the package data.
    
    Similarly, the logic for advancing past the newline at the end of the
    package line changed slightly: for a "package foo safe" line, the new
    code would only advance up to the newline, but not past.  (Albeit, in
    practice this doesn't matter: newlines in package data are harmless.)
    
    Lastly, "data[p0]" was incorrectly written as "data[0]" a few times.
    
    Change-Id: I49017e16ba33a627f773532b418cbf85a84f2b4b
    Reviewed-on: https://go-review.googlesource.com/7000Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    d533e395
go.go 16 KB