diff options
-rw-r--r-- | src/uri.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -77,10 +77,8 @@ serd_file_uri_parse(const uint8_t* uri, uint8_t** hostname) serd_chunk_sink("%", 1, &chunk); ++s; } else if (is_hexdig(*(s + 1)) && is_hexdig(*(s + 2))) { - const uint8_t code[3] = { *(s + 1), *(s + 2), 0 }; - uint32_t num; - sscanf((const char*)code, "%X", &num); - const uint8_t c = num; + const uint8_t code[3] = {*(s + 1), *(s + 2), 0}; + const uint8_t c = (uint8_t)strtoul((const char*)code, NULL, 16); serd_chunk_sink(&c, 1, &chunk); s += 2; } else { |