diff options
author | David Robillard <d@drobilla.net> | 2011-05-11 22:27:18 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-05-11 22:27:18 +0000 |
commit | 926f29ed81a34a50c9221a2d562119db84a136cb (patch) | |
tree | 382406a7c0bb3ba60f364339cffec431b9e66c96 /src/serd_internal.h | |
parent | efd2a2ecb17a8c633f634c2cf38fb8be48db9af5 (diff) | |
download | serd-926f29ed81a34a50c9221a2d562119db84a136cb.tar.gz serd-926f29ed81a34a50c9221a2d562119db84a136cb.tar.bz2 serd-926f29ed81a34a50c9221a2d562119db84a136cb.zip |
Create SerdNodeFlags typedef for flags.
Expose serd_strlen.
Make serd_node_copy tolerate a NULL parameter.
git-svn-id: http://svn.drobilla.net/serd/trunk@168 490d8e77-9747-427b-9fa3-0b8f29cee8a0
Diffstat (limited to 'src/serd_internal.h')
-rw-r--r-- | src/serd_internal.h | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/serd_internal.h b/src/serd_internal.h index e573a806..6c00fea1 100644 --- a/src/serd_internal.h +++ b/src/serd_internal.h @@ -98,36 +98,4 @@ is_digit(const uint8_t c) return in_range(c, '0', '9'); } -/** - UTF-8 strlen. - @return Length of @c str in characters. - @param str A null-terminated UTF-8 string. - @param n_bytes (Output) Set to the size of @a str in bytes (incl. NULL). -*/ -static inline size_t -serd_strlen(const uint8_t* str, size_t* n_bytes, uint32_t* flags) -{ - size_t n_chars = 0; - size_t i = 0; - for (; str[i]; ++i) { - if ((str[i] & 0xC0) != 0x80) { - // Does not start with `10', start of a new character - ++n_chars; - switch (str[i]) { - case '\r': - case '\n': - *flags |= SERD_HAS_NEWLINE; - break; - case '"': - *flags |= SERD_HAS_QUOTE; - } - } - } - if (n_bytes) { - *n_bytes = i + 1; - } - return n_chars; -} - - #endif // SERD_INTERNAL_H |