From b9cc3b642a9365c033c1fa31458d7822b42d0913 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 28 Feb 2021 14:24:24 -0500 Subject: Make serd_uri_string_length() precise and add it to public API --- include/serd/serd.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'include/serd') diff --git a/include/serd/serd.h b/include/serd/serd.h index 47eca580..72a4c3fa 100644 --- a/include/serd/serd.h +++ b/include/serd/serd.h @@ -468,6 +468,18 @@ SERD_PURE_API bool serd_uri_is_within(SerdURIView r, SerdURIView base); +/** + Return the length of `uri` as a string. + + This can be used to get the expected number of bytes that will be written by + serd_write_uri(). + + @return A string length in bytes, not including the null terminator. +*/ +SERD_PURE_API +size_t +serd_uri_string_length(SerdURIView uri); + /** Write `uri` as a string to `sink`. @@ -476,7 +488,9 @@ serd_uri_is_within(SerdURIView r, SerdURIView base); @param uri URI to write as a string. @param sink Sink to write string output to. @param stream Opaque user argument to pass to `sink`. - @return The number of bytes written. + + @return The number of bytes written, which is less than + `serd_uri_string_length(uri)` on error. */ SERD_API size_t -- cgit v1.2.1