MCPcopy Create free account
hub / github.com/crownengine/crown / skip_value

Function skip_value

src/core/json/json.cpp:48–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46 }
47
48 static const char *skip_value(const char *json)
49 {
50 CE_ENSURE(NULL != json);
51
52 switch (*json) {
53 case '"':
54 json = skip_string(json);
55 break;
56
57 case '[':
58 case '{': {
59 u32 num = 0;
60 char aa = *json;
61 char bb = aa + 2; // Matching brace/bracket.
62
63 while (*json != '\0') {
64 if (*json == aa) {
65 ++json;
66 ++num;
67 } else if (*json == bb) {
68 ++json;
69 if (--num == 0)
70 break;
71 } else if (*json == '"') {
72 json = skip_string(json);
73 } else {
74 ++json;
75 }
76 }
77 break;
78 }
79 default: for (; *json != ',' && *json != '}' && *json != ']'; ++json); break;
80 }
81
82 return json;
83 }
84
85 JsonValueType::Enum type(const char *json)
86 {

Callers 2

parse_arrayFunction · 0.70
parse_objectFunction · 0.70

Calls 1

skip_stringFunction · 0.70

Tested by

no test coverage detected