diff options
author | David Robillard <d@drobilla.net> | 2019-01-07 18:55:35 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-01-07 18:55:35 +0100 |
commit | 9d31b07bbc144da93eb65250ee7cf47611d1ce16 (patch) | |
tree | 83c59c63f86281803ff9e11a033b251e950fbe58 /src/node.c | |
parent | 9b80535334de1a3ca0bf40d2f1109202385148aa (diff) | |
download | serd1-warnings.tar.gz serd1-warnings.tar.bz2 serd1-warnings.zip |
WIP: Fix warningsserd1-warnings
Diffstat (limited to 'src/node.c')
-rw-r--r-- | src/node.c | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -320,7 +320,7 @@ serd_node_compare(const SerdNode* a, const SerdNode* b) } else if (!a || !b) { return (a < b) ? -1 : (a > b) ? 1 : 0; } else if (a->type != b->type) { - return a->type - b->type; + return (a->type < b->type) ? -1 : (a->type > b->type) ? 1 : 0; } const int cmp = strcmp(serd_node_get_string(a), serd_node_get_string(b)); @@ -416,9 +416,10 @@ serd_new_resolved_uri_i(const char* str, const SerdURI* base) static inline bool is_uri_path_char(const char c) { - if (is_alpha(c) || is_digit(c)) { + if (is_alpha((uint8_t)c) || is_digit((uint8_t)c)) { return true; } + switch (c) { case '-': case '.': case '_': case '~': // unreserved case ':': case '@': // pchar @@ -531,7 +532,7 @@ serd_digits(double abs) SerdNode* serd_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype) { - if (isnan(d) || isinf(d)) { + if (!isfinite(d)) { return NULL; } @@ -568,16 +569,16 @@ serd_new_decimal(double d, unsigned frac_digits, const SerdNode* datatype) double frac_part = fabs(d - int_part); if (frac_part < DBL_EPSILON) { *s++ = '0'; - node->n_bytes = (s - buf); + node->n_bytes = (size_t)(s - buf); } else { - uint64_t frac = lround(frac_part * pow(10.0, (int)frac_digits)); + long frac = lround(frac_part * pow(10.0, (int)frac_digits)); s += frac_digits - 1; unsigned i = 0; // Skip trailing zeros for (; i < frac_digits - 1 && !(frac % 10); ++i, --s, frac /= 10) {} - node->n_bytes = (s - buf) + 1; + node->n_bytes = (size_t)(s - buf) + 1; // Write digits from last trailing zero to decimal point for (; i < frac_digits; ++i) { @@ -611,7 +612,7 @@ serd_new_integer(int64_t i, const SerdNode* datatype) ++s; } - node->n_bytes = (s - buf) + 1; + node->n_bytes = (size_t)((s - buf) + 1); // Write integer part (right to left) do { |