summaryrefslogtreecommitdiff
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
commita3c4d2f8fd30316e08deb6950b0bbb6c713a55e7 (patch)
tree57627d3efbd2d1870c7084194c54b0274a778122
parent68a702960410cfa81ff4950e478761da58b47204 (diff)
downloadgolang-a3c4d2f8fd30316e08deb6950b0bbb6c713a55e7.tar.gz
xml: fix innerxml handling of & escapes
R=r CC=golang-dev http://codereview.appspot.com/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 68bb010f2..97fa423d6 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 410b0f77c..1ad1039f6 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")
}