aboutsummaryrefslogtreecommitdiffstats
path: root/src/reader.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-11-25 18:08:54 +0100
committerDavid Robillard <d@drobilla.net>2020-06-21 18:12:04 +0200
commit5c0c09d8ecbdc17452b3bd2c0dc2fc7bb555e5b8 (patch)
tree59e0b04d4c444f018e119100f220d815cc7940b6 /src/reader.c
parentea3a288ed266cc73995289ab249da2df13113626 (diff)
downloadserd-5c0c09d8ecbdc17452b3bd2c0dc2fc7bb555e5b8.tar.gz
serd-5c0c09d8ecbdc17452b3bd2c0dc2fc7bb555e5b8.tar.bz2
serd-5c0c09d8ecbdc17452b3bd2c0dc2fc7bb555e5b8.zip
Remove reader status and handle errors more precisely
Diffstat (limited to 'src/reader.c')
-rw-r--r--src/reader.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/reader.c b/src/reader.c
index 34d69fd6..5e03679f 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -91,7 +91,6 @@ push_node_padded(SerdReader* reader, size_t maxlen,
&reader->stack, sizeof(SerdNode) + maxlen + 1, sizeof(SerdNode));
if (!mem) {
- reader->status = SERD_ERR_OVERFLOW;
return NULL;
}
@@ -285,15 +284,15 @@ serd_reader_start_string(SerdReader* reader,
static SerdStatus
serd_reader_prepare(SerdReader* reader)
{
- reader->status = serd_byte_source_prepare(&reader->source);
- if (reader->status == SERD_SUCCESS) {
- reader->status = skip_bom(reader);
- } else if (reader->status == SERD_FAILURE) {
+ SerdStatus st = serd_byte_source_prepare(&reader->source);
+ if (st == SERD_SUCCESS) {
+ st = skip_bom(reader);
+ } else if (st == SERD_FAILURE) {
reader->source.eof = true;
} else {
- r_err(reader, reader->status, "read error: %s\n", strerror(errno));
+ r_err(reader, st, "error preparing read: %s\n", strerror(errno));
}
- return reader->status;
+ return st;
}
SerdStatus