Issue #371: fix parsing of "-Infinity" (although in a somewhat different location than PR#372 used), and add a case to test_parse to check for this.
This commit is contained in:
@@ -767,6 +767,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
|
|||||||
(c == 'i' || c == 'I'))
|
(c == 'i' || c == 'I'))
|
||||||
{
|
{
|
||||||
state = json_tokener_state_inf;
|
state = json_tokener_state_inf;
|
||||||
|
tok->st_pos = 0;
|
||||||
goto redo_char;
|
goto redo_char;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ static void test_basic_parse()
|
|||||||
single_basic_parse("infinity", 0);
|
single_basic_parse("infinity", 0);
|
||||||
single_basic_parse("-Infinity", 0);
|
single_basic_parse("-Infinity", 0);
|
||||||
single_basic_parse("-infinity", 0);
|
single_basic_parse("-infinity", 0);
|
||||||
|
single_basic_parse("{ \"min\": Infinity, \"max\": -Infinity}", 0);
|
||||||
|
|
||||||
single_basic_parse("Infinity!", 0);
|
single_basic_parse("Infinity!", 0);
|
||||||
single_basic_parse("Infinitynull", 0);
|
single_basic_parse("Infinitynull", 0);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ new_obj.to_string(Infinity)=Infinity
|
|||||||
new_obj.to_string(infinity)=Infinity
|
new_obj.to_string(infinity)=Infinity
|
||||||
new_obj.to_string(-Infinity)=-Infinity
|
new_obj.to_string(-Infinity)=-Infinity
|
||||||
new_obj.to_string(-infinity)=-Infinity
|
new_obj.to_string(-infinity)=-Infinity
|
||||||
|
new_obj.to_string({ "min": Infinity, "max": -Infinity})={ "min": Infinity, "max": -Infinity }
|
||||||
new_obj.to_string(Infinity!)=Infinity
|
new_obj.to_string(Infinity!)=Infinity
|
||||||
new_obj.to_string(Infinitynull)=Infinity
|
new_obj.to_string(Infinitynull)=Infinity
|
||||||
new_obj.to_string(InfinityXXXX)=Infinity
|
new_obj.to_string(InfinityXXXX)=Infinity
|
||||||
|
|||||||
Reference in New Issue
Block a user