aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-04-26 10:01:33 -0700
committerRuss Cox <rsc@golang.org>2010-04-26 10:01:33 -0700
commit9f69ab39f0fa3ed2b35c7c23aff060e91f2682ac (patch)
treebc912fc767f0105d23f12a25bef6654ab7657a2e
parent13bb28a40a4745fa9961a9ca69a342d99b61bd2c (diff)
downloadgo-9f69ab39f0fa3ed2b35c7c23aff060e91f2682ac.tar.gz
go-9f69ab39f0fa3ed2b35c7c23aff060e91f2682ac.zip
xml: fix innerxml handling of & escapes
R=r CC=golang-dev https://golang.org/cl/1009041
-rw-r--r--src/pkg/xml/read_test.go6
-rw-r--r--src/pkg/xml/xml.go5
2 files changed, 6 insertions, 5 deletions
diff --git a/src/pkg/xml/read_test.go b/src/pkg/xml/read_test.go
index 68bb010f2f..97fa423d6a 100644
--- a/src/pkg/xml/read_test.go
+++ b/src/pkg/xml/read_test.go
@@ -24,7 +24,7 @@ func TestUnmarshalFeed(t *testing.T) {
// hget http://codereview.appspot.com/rss/mine/rsc
const rssFeedString = `
<?xml version="1.0" encoding="utf-8"?>
-<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><title>Code Review - My issues</title><link href="http://codereview.appspot.com/" rel="alternate"></link><li-nk href="http://codereview.appspot.com/rss/mine/rsc" rel="self"></li-nk><id>http://codereview.appspot.com/</id><updated>2009-10-04T01:35:58+00:00</updated><author><name>rietveld</name></author><entry><title>rietveld: an attempt at pubsubhubbub
+<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><title>Code Review - My issues</title><link href="http://codereview.appspot.com/" rel="alternate"></link><li-nk href="http://codereview.appspot.com/rss/mine/rsc" rel="self"></li-nk><id>http://codereview.appspot.com/</id><updated>2009-10-04T01:35:58+00:00</updated><author><name>rietveld&lt;&gt;</name></author><entry><title>rietveld: an attempt at pubsubhubbub
</title><link hre-f="http://codereview.appspot.com/126085" rel="alternate"></link><updated>2009-10-04T01:35:58+00:00</updated><author><name>email-address-removed</name></author><id>urn:md5:134d9179c41f806be79b3a5f7877d19a</id><summary type="html">
An attempt at adding pubsubhubbub support to Rietveld.
http://code.google.com/p/pubsubhubbub
@@ -125,8 +125,8 @@ var rssFeed = Feed{
Id: "http://codereview.appspot.com/",
Updated: "2009-10-04T01:35:58+00:00",
Author: Person{
- Name: "rietveld",
- InnerXML: "<name>rietveld</name>",
+ Name: "rietveld<>",
+ InnerXML: "<name>rietveld&lt;&gt;</name>",
},
Entry: []Entry{
Entry{
diff --git a/src/pkg/xml/xml.go b/src/pkg/xml/xml.go
index 410b0f77ca..1ad1039f64 100644
--- a/src/pkg/xml/xml.go
+++ b/src/pkg/xml/xml.go
@@ -795,8 +795,9 @@ Input:
var i int
CharLoop:
for i = 0; i < len(p.tmp); i++ {
- p.tmp[i], p.err = p.r.ReadByte()
- if p.err != nil {
+ var ok bool
+ p.tmp[i], ok = p.getc()
+ if !ok {
if p.err == os.EOF {
p.err = p.syntaxError("unexpected EOF")
}