From 95f7334bbc02f3e75b33b9914eee58c69f1588bd Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 12 May 2018 20:39:23 +0200 Subject: Use a fixed-size reader stack This improves performance, and makes the reader more suitable for embedded or network-facing applications, at the cost of requiring the user to specify a maximum stack size. --- serd/serd.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'serd') diff --git a/serd/serd.h b/serd/serd.h index bf1ac8d5..8aa97ed4 100644 --- a/serd/serd.h +++ b/serd/serd.h @@ -102,7 +102,8 @@ typedef enum { SERD_ERR_NOT_FOUND, /**< Not found */ SERD_ERR_ID_CLASH, /**< Encountered clashing blank node IDs */ SERD_ERR_BAD_CURIE, /**< Invalid CURIE (e.g. prefix does not exist) */ - SERD_ERR_INTERNAL /**< Unexpected internal error (should not happen) */ + SERD_ERR_INTERNAL, /**< Unexpected internal error (should not happen) */ + SERD_ERR_OVERFLOW /**< Stack overflow */ } SerdStatus; /** @@ -903,7 +904,10 @@ serd_env_foreach(const SerdEnv* env, */ SERD_API SerdReader* -serd_reader_new(SerdWorld* world, SerdSyntax syntax, const SerdSink* sink); +serd_reader_new(SerdWorld* world, + SerdSyntax syntax, + const SerdSink* sink, + size_t stack_size); /** Enable or disable strict parsing. -- cgit v1.2.1