sfeed

simple feed reader - forked from git.codemadness.org/sfeed
git clone git://src.gearsix.net/sfeed
Log | Files | Refs | Atom | README | LICENSE

commit e1fdd1e49326041e7cbd68876879e51b2a79e973
parent c020d456846f33ec834ddf9a1656368e502cd67f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Tue, 11 Jun 2019 20:57:16 +0200

xml: improve cdata and comment callback logic

it used to call both handlers twice at the end for "-->" (comment) or "]]>"
(CDATA) with the data "" and length 0.

Now it is only called when non-empty. The start and end handlers can still be
used.

Diffstat:
Mxml.c | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xml.c b/xml.c @@ -126,7 +126,7 @@ xml_parsecomment(XMLParser *x) x->xmlcommentstart(x); while ((c = GETNEXT()) != EOF) { if (c == '-' || c == '>') { - if (x->xmlcomment) { + if (x->xmlcomment && datalen) { x->data[datalen] = '\0'; x->xmlcomment(x, x->data, datalen); datalen = 0; @@ -175,7 +175,7 @@ xml_parsecdata(XMLParser *x) x->xmlcdatastart(x); while ((c = GETNEXT()) != EOF) { if (c == ']' || c == '>') { - if (x->xmlcdata) { + if (x->xmlcdata && datalen) { x->data[datalen] = '\0'; x->xmlcdata(x, x->data, datalen); datalen = 0;