diff options
Diffstat (limited to 'lib/pure/parsexml.nim')
-rwxr-xr-x | lib/pure/parsexml.nim | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/pure/parsexml.nim b/lib/pure/parsexml.nim index 54f62a9a4..7184e6c45 100755 --- a/lib/pure/parsexml.nim +++ b/lib/pure/parsexml.nim @@ -1,7 +1,7 @@ # # # Nimrod's Runtime Library -# (c) Copyright 2009 Andreas Rumpf +# (c) Copyright 2010 Andreas Rumpf # # See the file "copying.txt", included in this # distribution, for details about the copyright. @@ -89,7 +89,7 @@ type reportComments ## report comments TXmlParser* = object of TBaseLexer ## the parser object. - a, b: string + a, b, c: string kind: TXmlEventKind err: TXmlError state: TParserState @@ -424,6 +424,7 @@ proc parseTag(my: var TXmlParser) = # an attribute follows: my.kind = xmlElementOpen my.state = stateAttr + my.c = my.a # save for later else: my.kind = xmlElementStart if my.buf[my.bufpos] == '/' and my.buf[my.bufpos+1] == '>': @@ -597,6 +598,8 @@ proc next*(my: var TXmlParser) = of stateEmptyElementTag: my.state = stateNormal my.kind = xmlElementEnd + if not isNil(my.c): + my.a = my.c of stateError: my.kind = xmlError my.state = stateNormal |