diff options
author | David Robillard <d@drobilla.net> | 2018-06-03 22:15:53 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-06-21 18:12:04 +0200 |
commit | 8c4a8baf4f9081bdb9523c08005a529a71fd6722 (patch) | |
tree | 6b51d5d5741243e9489e06138f2aeb53b924d769 /src/reader.c | |
parent | 6fcf2dce8d519b4fee2b7b891e3710061cca981c (diff) | |
download | serd-8c4a8baf4f9081bdb9523c08005a529a71fd6722.tar.gz serd-8c4a8baf4f9081bdb9523c08005a529a71fd6722.tar.bz2 serd-8c4a8baf4f9081bdb9523c08005a529a71fd6722.zip |
Add SerdCursor to public API
Diffstat (limited to 'src/reader.c')
-rw-r--r-- | src/reader.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/reader.c b/src/reader.c index 3298ea3c..8ec9f32e 100644 --- a/src/reader.c +++ b/src/reader.c @@ -39,8 +39,7 @@ r_err(SerdReader* reader, SerdStatus st, const char* fmt, ...) { va_list args; va_start(args, fmt); - const Cursor* const cur = &reader->source.cur; - const SerdError e = { st, cur->filename, cur->line, cur->col, fmt, &args }; + const SerdError e = { st, &reader->source.cur, fmt, &args }; serd_world_error(reader->world, &e); va_end(args); return st; @@ -246,7 +245,7 @@ serd_reader_start_stream(SerdReader* reader, SerdReadFunc read_func, SerdStreamErrorFunc error_func, void* stream, - const char* name, + const SerdNode* name, size_t page_size) { return serd_byte_source_open_source( @@ -267,20 +266,25 @@ serd_reader_start_file(SerdReader* reader, const char* uri, bool bulk) return SERD_ERR_UNKNOWN; } - return serd_byte_source_open_source( + SerdNode* const name = serd_new_uri(uri); + const SerdStatus st = serd_byte_source_open_source( &reader->source, bulk ? (SerdReadFunc)fread : serd_file_read_byte, (SerdStreamErrorFunc)ferror, (SerdStreamCloseFunc)fclose, fd, - uri, + name, bulk ? SERD_PAGE_SIZE : 1); + serd_node_free(name); + return st; } SerdStatus -serd_reader_start_string(SerdReader* reader, const char* utf8) +serd_reader_start_string(SerdReader* reader, + const char* utf8, + const SerdNode* name) { - return serd_byte_source_open_string(&reader->source, utf8); + return serd_byte_source_open_string(&reader->source, utf8, name); } static SerdStatus |