aboutsummaryrefslogtreecommitdiffstats
path: root/serd/serd.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2016-07-07 23:50:39 -0400
committerDavid Robillard <d@drobilla.net>2019-04-13 19:15:32 +0200
commit07c3c06f59348c5558c909b2aa10734bf95e62e7 (patch)
tree052785f9621b3b7aac8620660faf8ec0a3cd6038 /serd/serd.h
parent8f88d086f0d94c1d6e8afbcd16c10b392cbb207c (diff)
downloadserd-07c3c06f59348c5558c909b2aa10734bf95e62e7.tar.gz
serd-07c3c06f59348c5558c909b2aa10734bf95e62e7.tar.bz2
serd-07c3c06f59348c5558c909b2aa10734bf95e62e7.zip
Make serd_strtod API const-correct
This is an API breakage, but a minor one (particularly since NULL is allowed) that avoids the flaw in the C API.
Diffstat (limited to 'serd/serd.h')
-rw-r--r--serd/serd.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/serd/serd.h b/serd/serd.h
index e8aff1e8..ba285255 100644
--- a/serd/serd.h
+++ b/serd/serd.h
@@ -316,13 +316,15 @@ serd_strlen(const char* str, SerdNodeFlags* flags);
/**
Parse a string to a double.
- The API of this function is identical to the standard C strtod function,
+ The API of this function is similar to the standard C strtod function,
except this function is locale-independent and always matches the lexical
- format used in the Turtle grammar (the decimal point is always ".").
+ format used in the Turtle grammar (the decimal point is always "."). The
+ end parameter is an offset from the start of `str` to avoid the
+ const-correctness issues of the strtod API.
*/
SERD_API
double
-serd_strtod(const char* str, char** endptr);
+serd_strtod(const char* str, size_t* end);
/**
Decode a base64 string.