]> granicus.if.org Git - json-c/commitdiff
Issue #371: fix parsing of "-Infinity" (although in a somewhat different location...
authorEric Haszlakiewicz <erh+git@nimenees.com>
Mon, 27 Nov 2017 03:42:40 +0000 (22:42 -0500)
committerEric Haszlakiewicz <erh+git@nimenees.com>
Mon, 27 Nov 2017 03:44:39 +0000 (22:44 -0500)
json_tokener.c
tests/test_parse.c
tests/test_parse.expected

index 57d8367ebf15d2d38414a1db6cabd6ee7c3291fc..2a924561b54796bc735e6ca511ddf359a4b25aa0 100644 (file)
@@ -767,6 +767,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
            (c == 'i' || c == 'I'))
        {
                state = json_tokener_state_inf;
+               tok->st_pos = 0;
                goto redo_char;
        }
       }
index 0d71a47bcb2dd38214f2474e40610cf4ce812111..aa02251ee83b085f9542fe5cfe6c9393410defe3 100644 (file)
@@ -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("{ \"min\": Infinity, \"max\": -Infinity}", 0);
 
        single_basic_parse("Infinity!", 0);
        single_basic_parse("Infinitynull", 0);
index cc13cf3d57ffa3b18837e8ff7c9b2fa4ada31c7b..16309985758654919265f7da28d485160215c493 100644 (file)
@@ -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({ "min": Infinity, "max": -Infinity})={ "min": Infinity, "max": -Infinity }
 new_obj.to_string(Infinity!)=Infinity
 new_obj.to_string(Infinitynull)=Infinity
 new_obj.to_string(InfinityXXXX)=Infinity