add json_tokener_parse_verbose, and return NULL on parser errors

git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@62 327403b1-1117-474d-bef2-5cb71233fd97
This commit is contained in:
Jehiah Czebotar
2010-12-08 03:52:07 +00:00
parent 5644272f03
commit a503ee8217
4 changed files with 34 additions and 5 deletions

15
test1.c
View File

@@ -2,6 +2,7 @@
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <assert.h>
#include "json.h"
@@ -135,11 +136,21 @@ int main(int argc, char **argv)
printf("new_obj.to_string()=%s\n", json_object_to_json_string(new_obj));
json_object_put(new_obj);
enum json_tokener_error error = json_tokener_success;
new_obj = json_tokener_parse_verbose("{ foo }", &error);
assert (error == json_tokener_error_parse_object_key_name);
assert (new_obj == NULL);
new_obj = json_tokener_parse("{ foo }");
if(is_error(new_obj)) printf("got error as expected\n");
assert (new_obj == NULL);
// if(is_error(new_obj)) printf("got error as expected\n");
new_obj = json_tokener_parse("foo");
if(is_error(new_obj)) printf("got error as expected\n");
assert (new_obj == NULL);
new_obj = json_tokener_parse_verbose("foo", &error);
assert (new_obj == NULL);
assert (error == json_tokener_error_parse_boolean);
new_obj = json_tokener_parse("{ \"foo");
if(is_error(new_obj)) printf("got error as expected\n");