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

Function parse_string

src/core/json/sjson.cpp:383–416  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

381 }
382
383 void parse_string(DynamicString &str, const char *json)
384 {
385 if (json == NULL) {
386 fatal("json is NULL");
387 return;
388 }
389
390 if (*json == '"') {
391 while (*++json) {
392 if (*json == '"')
393 return;
394
395 if (*json == '\\') {
396 ++json;
397
398 switch (*json) {
399 case '"': str += '"'; break;
400 case '\\': str += '\\'; break;
401 case '/': str += '/'; break;
402 case 'b': str += '\b'; break;
403 case 'f': str += '\f'; break;
404 case 'n': str += '\n'; break;
405 case 'r': str += '\r'; break;
406 case 't': str += '\t'; break;
407 default: fatal("Bad escape character"); return; break;
408 }
409 } else {
410 str += *json;
411 }
412 }
413 }
414
415 fatal("Bad string");
416 }
417
418 void parse_array(JsonArray &arr, const char *json)
419 {

Callers 3

parse_string_idFunction · 0.70
parse_resource_nameFunction · 0.70
parse_guidFunction · 0.70

Calls 1

fatalFunction · 0.70

Tested by

no test coverage detected