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;