diff --git a/src/core/data.c b/src/core/data.c
index 3186aa2622ecbfdc3caf2fc877dc7ae890c7754f..503db29a36c500ce34a093f465c7ca252348a8c5 100644 (file)
--- a/src/core/data.c
+++ b/src/core/data.c
#undef CMP_NULL
} /* sdb_data_strcmp */
-_Bool
+bool
sdb_data_isnull(const sdb_data_t *datum)
{
if (! datum)
return 0;
} /* sdb_data_isnull */
-_Bool
+bool
sdb_data_inarray(const sdb_data_t *value, const sdb_data_t *array)
{
const void *values;
{
char tmp[sdb_data_strlen(datum) + 1];
char *data = NULL;
- _Bool is_null = 0;
+ bool is_null = 0;
int ret = -1;
size_t i, pos;
ret = snprintf(buf, buflen, "%"PRIi64, datum->data.integer);
}
else if (datum->type == SDB_TYPE_DECIMAL) {
- ret = snprintf(buf, buflen, "%g", datum->data.decimal);
+ if (isnan(datum->data.decimal))
+ ret = snprintf(buf, buflen, "nan");
+ else
+ ret = snprintf(buf, buflen, "%g", datum->data.decimal);
}
else if (datum->type == SDB_TYPE_STRING) {
if (! datum->data.string)