• Russ Cox's avatar
    [release-branch.go1.8] encoding/xml: fix incorrect indirect code in chardata,… · cedc511a
    Russ Cox authored
    [release-branch.go1.8] encoding/xml: fix incorrect indirect code in chardata, comment, innerxml fields
    
    The new tests in this CL have been checked against Go 1.7 as well
    and all pass in Go 1.7, with the one exception noted in a comment
    (an intentional change to omitempty already present before this CL).
    
    CL 15684 made the intentional change to omitempty.
    This CL fixes bugs introduced along the way.
    
    Most of these are corner cases that are arguably not that important,
    but they've always worked all the way back to Go 1, and someone
    cared enough to file #19063. The most significant problem found
    while adding tests is that in the case of a nil *string field with
    `xml:",chardata"`, the existing code silently stops processing not just
    that field but the entire remainder of the struct.
    Even if #19063 were not worth fixing, this chardata bug would be.
    
    Fixes #19063.
    
    Change-Id: I318cf8f9945e1a4615982d9904e109fde577ebf9
    Reviewed-on: https://go-review.googlesource.com/36954
    Run-TryBot: Russ Cox <rsc@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarDaniel Martí <mvdan@mvdan.cc>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    (cherry picked from commit 72aa757d)
    Reviewed-on: https://go-review.googlesource.com/37016
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    cedc511a
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...