Merge pull request #2291 from def-/parsexml-again2

Revert my.c changes in parsexml
This commit is contained in:
Andreas Rumpf 2015-03-08 14:54:36 +01:00
commit 41ce6571a3

View file

@ -128,7 +128,7 @@ proc open*(my: var XmlParser, input: Stream, filename: string,
my.kind = xmlError my.kind = xmlError
my.a = "" my.a = ""
my.b = "" my.b = ""
my.c = "" my.c = nil
my.options = options my.options = options
proc close*(my: var XmlParser) {.inline.} = proc close*(my: var XmlParser) {.inline.} =
@ -447,15 +447,13 @@ proc parseTag(my: var XmlParser) =
# an attribute follows: # an attribute follows:
my.kind = xmlElementOpen my.kind = xmlElementOpen
my.state = stateAttr my.state = stateAttr
# save for later: my.c = my.a # save for later
my.c.setLen(my.a.len)
my.c[0..my.c.high] = my.a[0..my.a.high]
else: else:
my.kind = xmlElementStart my.kind = xmlElementStart
if my.buf[my.bufpos] == '/' and my.buf[my.bufpos+1] == '>': if my.buf[my.bufpos] == '/' and my.buf[my.bufpos+1] == '>':
inc(my.bufpos, 2) inc(my.bufpos, 2)
my.state = stateEmptyElementTag my.state = stateEmptyElementTag
my.c.setLen(0) my.c = nil
elif my.buf[my.bufpos] == '>': elif my.buf[my.bufpos] == '>':
inc(my.bufpos) inc(my.bufpos)
else: else:
@ -624,9 +622,8 @@ proc next*(my: var XmlParser) =
of stateEmptyElementTag: of stateEmptyElementTag:
my.state = stateNormal my.state = stateNormal
my.kind = xmlElementEnd my.kind = xmlElementEnd
if my.c.len > 0: if not my.c.isNil:
my.a.setLen(my.c.len) my.a = my.c
my.a[0..my.a.high] = my.c[0..my.c.high]
of stateError: of stateError:
my.kind = xmlError my.kind = xmlError
my.state = stateNormal my.state = stateNormal