Browse Source

Merge 1efafe1011 into 2da148df56

pull/38/merge
Patrick Horn 13 years ago
parent
commit
222a089bbb
2 changed files with 7 additions and 10 deletions
  1. +2
    -0
      json_tokener.c
  2. +5
    -10
      json_util.c

+ 2
- 0
json_tokener.c View File

@@ -423,10 +423,12 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
case 'n': case 'n':
case 'r': case 'r':
case 't': case 't':
case 'f':
if(c == 'b') printbuf_memappend_fast(tok->pb, "\b", 1); if(c == 'b') printbuf_memappend_fast(tok->pb, "\b", 1);
else if(c == 'n') printbuf_memappend_fast(tok->pb, "\n", 1); else if(c == 'n') printbuf_memappend_fast(tok->pb, "\n", 1);
else if(c == 'r') printbuf_memappend_fast(tok->pb, "\r", 1); else if(c == 'r') printbuf_memappend_fast(tok->pb, "\r", 1);
else if(c == 't') printbuf_memappend_fast(tok->pb, "\t", 1); else if(c == 't') printbuf_memappend_fast(tok->pb, "\t", 1);
else if(c == 'f') printbuf_memappend_fast(tok->pb, "\f", 1);
state = saved_state; state = saved_state;
break; break;
case 'u': case 'u':


+ 5
- 10
json_util.c View File

@@ -167,8 +167,7 @@ int json_parse_int64(const char *buf, int64_t *retval)
buf_skip_space++; buf_skip_space++;
if (buf_skip_space[0] == '0' && buf_skip_space[1] == '\0') if (buf_skip_space[0] == '0' && buf_skip_space[1] == '\0')
orig_has_neg = 0; // "-0" is the same as just plain "0" orig_has_neg = 0; // "-0" is the same as just plain "0"
if (errno != ERANGE)

{ {
char buf_cmp[100]; char buf_cmp[100];
char *buf_cmp_start = buf_cmp; char *buf_cmp_start = buf_cmp;
@@ -196,16 +195,12 @@ int json_parse_int64(const char *buf, int64_t *retval)
) )
) )
{ {
errno = ERANGE;
if (orig_has_neg)
num64 = INT64_MIN;
else
num64 = INT64_MAX;
} }
} }
if (errno == ERANGE)
{
if (orig_has_neg)
num64 = INT64_MIN;
else
num64 = INT64_MAX;
}
*retval = num64; *retval = num64;
return 0; return 0;
} }


Loading…
Cancel
Save