]> Cypherpunks repositories - gostls13.git/commitdiff
exp/html: refactor the parser.read method.
authorNigel Tao <nigeltao@golang.org>
Tue, 21 Aug 2012 10:59:02 +0000 (20:59 +1000)
committerNigel Tao <nigeltao@golang.org>
Tue, 21 Aug 2012 10:59:02 +0000 (20:59 +1000)
R=andybalholm
CC=golang-dev
https://golang.org/cl/6463070

src/pkg/exp/html/parse.go

index 2ef0241debd1e6ac4fbe2fae2bd1985459a16d1a..2a93e2f26c16fa86737c564daa6a7dff63b1c39b 100644 (file)
@@ -398,20 +398,6 @@ func (p *parser) reconstructActiveFormattingElements() {
        }
 }
 
-// read reads the next token from the tokenizer.
-func (p *parser) read() error {
-       // CDATA sections are allowed only in foreign content.
-       n := p.oe.top()
-       p.tokenizer.AllowCDATA(n != nil && n.Namespace != "")
-
-       p.tokenizer.Next()
-       p.tok = p.tokenizer.Token()
-       if p.tok.Type == ErrorToken {
-               return p.tokenizer.Err()
-       }
-       return nil
-}
-
 // Section 12.2.4.
 func (p *parser) acknowledgeSelfClosingTag() {
        p.hasSelfClosingToken = false
@@ -2014,9 +2000,17 @@ func (p *parser) parse() error {
        // Iterate until EOF. Any other error will cause an early return.
        var err error
        for err != io.EOF {
-               err = p.read()
-               if err != nil && err != io.EOF {
-                       return err
+               // CDATA sections are allowed only in foreign content.
+               n := p.oe.top()
+               p.tokenizer.AllowCDATA(n != nil && n.Namespace != "")
+               // Read and parse the next token.
+               p.tokenizer.Next()
+               p.tok = p.tokenizer.Token()
+               if p.tok.Type == ErrorToken {
+                       err = p.tokenizer.Err()
+                       if err != nil && err != io.EOF {
+                               return err
+                       }
                }
                p.parseCurrentToken()
        }