sfeed

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

commit aee6c97096e319b8a4d5a4744002bd0f18398fb2
parent f7c579c3b8e77215d60f1948367221b738823585
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Sat,  8 Aug 2015 00:06:06 +0200

xml: move entity to namedentitystr()

Diffstat:
Mxml.c | 35++++++++++++++++-------------------
1 file changed, 16 insertions(+), 19 deletions(-)

diff --git a/xml.c b/xml.c @@ -8,23 +8,6 @@ #include "xml.h" -static const struct { - char *entity; - size_t len; - int c; -} entities[] = { - { .entity = "&lt;", .len = 4, .c = '<' }, - { .entity = "&gt;", .len = 4, .c = '>' }, - { .entity = "&apos;", .len = 6, .c = '\'' }, - { .entity = "&amp;", .len = 5, .c = '&' }, - { .entity = "&quot;", .len = 6, .c = '"' }, - { .entity = "&LT;", .len = 4, .c = '<' }, - { .entity = "&GT;", .len = 4, .c = '>' }, - { .entity = "&APOS;", .len = 6, .c = '\'' }, - { .entity = "&AMP;", .len = 5, .c = '&' }, - { .entity = "&QUOT;", .len = 6, .c = '"' } -}; - static int xmlparser_string_getnext(XMLParser *x) { @@ -279,6 +262,21 @@ xml_codepointtoutf8(uint32_t cp, uint32_t *utf) ssize_t xml_namedentitytostr(const char *e, char *buf, size_t bufsiz) { + const struct { + char *entity; + int c; + } entities[] = { + { .entity = "&amp;", .c = '&' }, + { .entity = "&lt;", .c = '<' }, + { .entity = "&gt;", .c = '>' }, + { .entity = "&apos;", .c = '\'' }, + { .entity = "&quot;", .c = '"' }, + { .entity = "&AMP;", .c = '&' }, + { .entity = "&LT;", .c = '<' }, + { .entity = "&GT;", .c = '>' }, + { .entity = "&APOS;", .c = '\'' }, + { .entity = "&QUOT;", .c = '"' } + }; size_t i; /* buffer is too small */ @@ -290,8 +288,7 @@ xml_namedentitytostr(const char *e, char *buf, size_t bufsiz) return 0; for (i = 0; i < sizeof(entities) / sizeof(*entities); i++) { - /* NOTE: compares max 6 chars */ - if (!strncmp(e, entities[i].entity, 6)) { + if (!strcmp(e, entities[i].entity)) { buf[0] = entities[i].c; buf[1] = '\0'; return 1;