From: Markus Stenberg Date: Tue, 18 Mar 2014 14:29:49 +0000 (+0200) Subject: nan function requires -lm on some platforms; use of NAN is better, if available. X-Git-Tag: json-c-0.12-20140410~11^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1c8991e135f7fbdb7d4254c699b1cf0085c23e8;p=json-c nan function requires -lm on some platforms; use of NAN is better, if available. --- diff --git a/json_tokener.c b/json_tokener.c index 0c800d8..9862f9e 100644 --- a/json_tokener.c +++ b/json_tokener.c @@ -50,6 +50,11 @@ # error You do not have strncasecmp on your system. #endif /* HAVE_STRNCASECMP */ +/* Use C99 NAN by default; if not available, nan("") should work too. */ +#ifndef NAN +#define NAN nan("") +#endif /* !NAN */ + static const char json_null_str[] = "null"; static const int json_null_str_len = sizeof(json_null_str) - 1; static const char json_nan_str[] = "NaN"; @@ -352,7 +357,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok, { if (tok->st_pos == json_nan_str_len) { - current = json_object_new_double(nan("")); + current = json_object_new_double(NAN); saved_state = json_tokener_state_finish; state = json_tokener_state_eatws; goto redo_char;