From: Russ Cox Date: Mon, 26 Apr 2010 17:01:33 +0000 (-0700) Subject: xml: fix innerxml handling of & escapes X-Git-Tag: weekly.2010-04-27~41 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9f69ab39f0fa3ed2b35c7c23aff060e91f2682ac;p=gostls13.git xml: fix innerxml handling of & escapes R=r CC=golang-dev https://golang.org/cl/1009041 --- 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 = ` -Code Review - My issueshttp://codereview.appspot.com/2009-10-04T01:35:58+00:00rietveldrietveld: an attempt at pubsubhubbub +<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><title>Code Review - My issueshttp://codereview.appspot.com/2009-10-04T01:35:58+00:00rietveld<>rietveld: an attempt at pubsubhubbub 2009-10-04T01:35:58+00:00email-address-removedurn:md5:134d9179c41f806be79b3a5f7877d19a 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: "rietveld", + Name: "rietveld<>", + InnerXML: "rietveld<>", }, 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") }