From 3bf99421c04fdcc789745b7c59fc9bee8edce06b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 15 Mar 2016 23:37:09 -0400 Subject: Remove useless character counting --- src/string.c | 50 ++++++++++++++++++-------------------------------- 1 file changed, 18 insertions(+), 32 deletions(-) (limited to 'src/string.c') diff --git a/src/string.c b/src/string.c index 6e7cecf2..c9f1f612 100644 --- a/src/string.c +++ b/src/string.c @@ -18,9 +18,11 @@ #include "serd/serd.h" +#include #include #include #include +#include void serd_free(void* const ptr) @@ -73,48 +75,32 @@ serd_update_flags(const uint8_t c, SerdNodeFlags* const flags) size_t serd_substrlen(const uint8_t* const str, const size_t len, - size_t* const n_bytes, SerdNodeFlags* const flags) { - size_t n_chars = 0; - size_t i = 0; - SerdNodeFlags f = 0; + assert(flags); + + size_t i = 0; + *flags = 0; for (; i < len && str[i]; ++i) { - if ((str[i] & 0xC0) != 0x80) { // Start of new character - ++n_chars; - serd_update_flags(str[i], &f); - } - } - if (n_bytes) { - *n_bytes = i; + serd_update_flags(str[i], flags); } - if (flags) { - *flags = f; - } - return n_chars; + + return i; } size_t -serd_strlen(const uint8_t* const str, - size_t* const n_bytes, - SerdNodeFlags* const flags) +serd_strlen(const uint8_t* const str, SerdNodeFlags* const flags) { - size_t n_chars = 0; - size_t i = 0; - SerdNodeFlags f = 0; - for (; str[i]; ++i) { - if ((str[i] & 0xC0) != 0x80) { // Start of new character - ++n_chars; - serd_update_flags(str[i], &f); - } - } - if (n_bytes) { - *n_bytes = i; - } if (flags) { - *flags = f; + size_t i = 0; + *flags = 0; + for (; str[i]; ++i) { + serd_update_flags(str[i], flags); + } + return i; } - return n_chars; + + return strlen((const char*)str); } static double -- cgit v1.2.1