summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2025-09-11 21:43:03 -0400
committerpommicket <pommicket@gmail.com>2025-09-11 21:43:03 -0400
commit30359dae2f70c92ae661581a0d1fccdf4c078c79 (patch)
treeb20ec8725577ae450d43b362fd5ccb52c97b593a
parent8d039c499a2e877e6ac008fc7530b0b9cc2794d1 (diff)
Fix UTF-8 decoding
-rw-r--r--pom.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/pom.c b/pom.c
index 118d9d6..9a4028e 100644
--- a/pom.c
+++ b/pom.c
@@ -1,8 +1,3 @@
-/*
-TODO:
-- check for valid UTF-8
-*/
-
#include "pom.h"
#include <stdio.h> // still needed for sprintf, even if POM_NO_STDIO is defined.
@@ -291,7 +286,6 @@ parser_read_to_buf(struct parser *parser, bool skip_bom) {
goto eof;
if (read_count < sizeof parser->buf - 1)
parser->short_read = true;
- parser->utf8_state = utf8_state;
if (parser->leftover_cr && buf[0] != '\n')
parser_error(parser, "Carriage return with no newline after it.");
size_t in = 0, out = 0;
@@ -384,6 +378,7 @@ parser_read_to_buf(struct parser *parser, bool skip_bom) {
}
buf[out++] = byte;
}
+ parser->utf8_state = utf8_state;
parser->line_number = original_line_number;
parser->buf_count = out;
return true;