diff options
author | David Robillard <d@drobilla.net> | 2025-01-30 15:28:14 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2025-01-30 15:51:01 -0500 |
commit | 8d87a6aa12745d01abb8ef8468b8e3f258af1996 (patch) | |
tree | d343fa877b5e041b21380830482b5d36503f75a9 /src/reader.h | |
parent | c6cb174e7085cd2a41ed0ab74bbcbd7963e68d9d (diff) | |
download | serd-8d87a6aa12745d01abb8ef8468b8e3f258af1996.tar.gz serd-8d87a6aa12745d01abb8ef8468b8e3f258af1996.tar.bz2 serd-8d87a6aa12745d01abb8ef8468b8e3f258af1996.zip |
Unify invalid input character error reporting
Puts all error messages that print input characters in the same place, so that
potentially printing them can be handled properly. Most notably this avoids
printing EOF and control characters in error messages.
Diffstat (limited to 'src/reader.h')
-rw-r--r-- | src/reader.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/reader.h b/src/reader.h index d7b06a98..65c49f2c 100644 --- a/src/reader.h +++ b/src/reader.h @@ -69,6 +69,9 @@ SERD_LOG_FUNC(3, 4) SerdStatus r_err(SerdReader* reader, SerdStatus st, const char* fmt, ...); +SerdStatus +r_err_char(SerdReader* reader, const char* kind, int c); + Ref push_node_padded(SerdReader* reader, size_t maxlen, @@ -143,7 +146,7 @@ eat_byte_check(SerdReader* const reader, const int byte) { const int c = peek_byte(reader); if (c != byte) { - r_err(reader, SERD_ERR_BAD_SYNTAX, "expected '%c', not '%c'\n", byte, c); + r_err(reader, SERD_ERR_BAD_SYNTAX, "expected '%c'\n", byte); return 0; } return eat_byte_safe(reader, byte); |