aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-01-07 18:55:35 +0100
committerDavid Robillard <d@drobilla.net>2019-01-07 18:55:35 +0100
commit9d31b07bbc144da93eb65250ee7cf47611d1ce16 (patch)
tree83c59c63f86281803ff9e11a033b251e950fbe58 /src/node.c
parent9b80535334de1a3ca0bf40d2f1109202385148aa (diff)
downloadserd1-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.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/node.c b/src/node.c
index 38e5fc3e..8f146808 100644
--- a/src/node.c
+++ b/src/node.c
@@ -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 {