xml: move entity to namedentitystr()
This commit is contained in:
parent
f7c579c3b8
commit
aee6c97096
35
xml.c
35
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;
|
||||
|
|
Loading…
Reference in New Issue