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:
M | xml.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 = "<", .len = 4, .c = '<' },
- { .entity = ">", .len = 4, .c = '>' },
- { .entity = "'", .len = 6, .c = '\'' },
- { .entity = "&", .len = 5, .c = '&' },
- { .entity = """, .len = 6, .c = '"' },
- { .entity = "<", .len = 4, .c = '<' },
- { .entity = ">", .len = 4, .c = '>' },
- { .entity = "&APOS;", .len = 6, .c = '\'' },
- { .entity = "&", .len = 5, .c = '&' },
- { .entity = """, .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 = "&", .c = '&' },
+ { .entity = "<", .c = '<' },
+ { .entity = ">", .c = '>' },
+ { .entity = "'", .c = '\'' },
+ { .entity = """, .c = '"' },
+ { .entity = "&", .c = '&' },
+ { .entity = "<", .c = '<' },
+ { .entity = ">", .c = '>' },
+ { .entity = "&APOS;", .c = '\'' },
+ { .entity = """, .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;