diff options
author | David Robillard <d@drobilla.net> | 2018-11-25 18:08:54 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-06-21 18:12:04 +0200 |
commit | 5c0c09d8ecbdc17452b3bd2c0dc2fc7bb555e5b8 (patch) | |
tree | 59e0b04d4c444f018e119100f220d815cc7940b6 /src/reader.c | |
parent | ea3a288ed266cc73995289ab249da2df13113626 (diff) | |
download | serd-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.c | 13 |
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 |