aboutsummaryrefslogtreecommitdiffstats
path: root/src/reader.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2025-01-30 15:28:14 -0500
committerDavid Robillard <d@drobilla.net>2025-01-30 15:51:01 -0500
commit8d87a6aa12745d01abb8ef8468b8e3f258af1996 (patch)
treed343fa877b5e041b21380830482b5d36503f75a9 /src/reader.h
parentc6cb174e7085cd2a41ed0ab74bbcbd7963e68d9d (diff)
downloadserd-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.h5
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);