X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fjson.c;h=56dc5ef723dfd452f544ea9fe120db6761d87f83;hb=34290dbfe54a930258d4c1d00e82e7c3f51cea5f;hp=06a9a424ae2119ca738de2fa412891e4ed338389;hpb=780325b5b8d4c0552b4b7719e0a38200d99f6b08;p=sliver-openvswitch.git diff --git a/lib/json.c b/lib/json.c index 06a9a424a..56dc5ef72 100644 --- a/lib/json.c +++ b/lib/json.c @@ -620,11 +620,11 @@ json_lex_number(struct json_parser *p) significand = 0; if (*cp == '0') { cp++; - if (isdigit(*cp)) { + if (isdigit((unsigned char) *cp)) { json_error(p, "leading zeros not allowed"); return; } - } else if (isdigit(*cp)) { + } else if (isdigit((unsigned char) *cp)) { do { if (significand <= ULLONG_MAX / 10) { significand = significand * 10 + (*cp - '0'); @@ -635,7 +635,7 @@ json_lex_number(struct json_parser *p) } } cp++; - } while (isdigit(*cp)); + } while (isdigit((unsigned char) *cp)); } else { json_error(p, "'-' must be followed by digit"); return; @@ -644,7 +644,7 @@ json_lex_number(struct json_parser *p) /* Optional fraction. */ if (*cp == '.') { cp++; - if (!isdigit(*cp)) { + if (!isdigit((unsigned char) *cp)) { json_error(p, "decimal point must be followed by digit"); return; } @@ -656,7 +656,7 @@ json_lex_number(struct json_parser *p) imprecise = true; } cp++; - } while (isdigit(*cp)); + } while (isdigit((unsigned char) *cp)); } /* Optional exponent. */ @@ -672,7 +672,7 @@ json_lex_number(struct json_parser *p) cp++; } - if (!isdigit(*cp)) { + if (!isdigit((unsigned char) *cp)) { json_error(p, "exponent must contain at least one digit"); return; } @@ -685,7 +685,7 @@ json_lex_number(struct json_parser *p) } exponent = exponent * 10 + (*cp - '0'); cp++; - } while (isdigit(*cp)); + } while (isdigit((unsigned char) *cp)); if (negative_exponent) { pow10 -= exponent; @@ -1026,7 +1026,8 @@ json_from_file(const char *file_name) stream = fopen(file_name, "r"); if (!stream) { return json_string_create_nocopy( - xasprintf("error opening \"%s\": %s", file_name, strerror(errno))); + xasprintf("error opening \"%s\": %s", file_name, + ovs_strerror(errno))); } json = json_from_stream(stream); fclose(stream); @@ -1063,7 +1064,7 @@ json_from_stream(FILE *stream) if (ferror(stream)) { json_destroy(json); json = json_string_create_nocopy( - xasprintf("error reading JSON stream: %s", strerror(errno))); + xasprintf("error reading JSON stream: %s", ovs_strerror(errno))); } return json;