From cc2d53d9e91187275cfe2d76d46ec90325d20e81 Mon Sep 17 00:00:00 2001 From: LDA Date: Wed, 24 Jul 2024 18:46:03 +0200 Subject: [PATCH] [MOD/WIP] Manage some codepoints on XML --- src/XML/SAX.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/XML/SAX.c b/src/XML/SAX.c index 633c34b..07c920a 100644 --- a/src/XML/SAX.c +++ b/src/XML/SAX.c @@ -7,6 +7,7 @@ #include #include +#include #include struct XMLexer { @@ -637,6 +638,22 @@ XMLDecodeString(char *s) cs[0] = '&'; s += 5; } + else if (!strncmp(s, "&#", 2)) + { + char *dec = s + 2; + char *end = strchr(dec, ';'); + if (!end) + { + s++; + } + else + { + /* TODO: Decode any Unicode glyph as UTF-8. */ + int val = strtol(dec, &end, 10); + cs[0] = val; + s = end + 1; + } + } else { s++;