diff options
Diffstat (limited to 'src/reader.h')
-rw-r--r-- | src/reader.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/reader.h b/src/reader.h index e5ee2810..30f3f89d 100644 --- a/src/reader.h +++ b/src/reader.h @@ -73,7 +73,7 @@ struct SerdReaderImpl { SerdSyntax syntax; unsigned next_id; uint8_t* buf; - uint8_t* bprefix; + char* bprefix; size_t bprefix_len; bool strict; ///< True iff strict parsing bool seen_genid; @@ -172,11 +172,13 @@ push_byte(SerdReader* reader, Ref ref, const int c) assert(c != EOF); SERD_STACK_ASSERT_TOP(reader, ref); - uint8_t* const s = (uint8_t*)serd_stack_push(&reader->stack, 1); + char* const s = (char*)serd_stack_push(&reader->stack, 1); SerdNode* const node = (SerdNode*)(reader->stack.buf + ref); + + *(uint8_t*)(s - 1) = (uint8_t)c; + *s = '\0'; + ++node->n_bytes; - *(s - 1) = (uint8_t)c; - *s = '\0'; return SERD_SUCCESS; } |