Revert my.c changes in parsexml
Remeasured with the string copy fix (#2255) and isn't faster anymore, so we should opt for the simpler code again.
This commit is contained in:
parent
e390d8ec4a
commit
21bdf45853
1 changed files with 5 additions and 8 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue