50 for (; *sb; sb = &(*sb)->
next)
51 if ((*sb)->idx == idx)
76 while (*p->
cp && strchr(
" \t\r\n\f", *p->
cp))
125 if (**p ==
'\\' && p[0][1])
152 size_t outbytesleft = 6;
153 sscanf(*p + 1,
"%4x", &code);
183 p->
err_msg =
"string expected";
189 while (*cp && *cp !=
'"')
203 while (*cp && *cp !=
'"')
223 v = strtod(p->
cp, &endptr);
241 else if (strchr(
"0123456789-+", c))
253 while (c >=
'0' && c <=
'9')
255 idx = idx*10 + (c -
'0');
267 while (c >=
'a' && c <=
'z' && i < 7)
274 if (!strcmp(tok,
"true"))
276 else if (!strcmp(tok,
"false"))
278 else if (!strcmp(tok,
"null"))
431 p->
err_msg =
"extra characters";
446 *errmsg =
"could not create parser";
468 for (i = 0; i < sz; i++)
470 if (cp[i] > 0 && cp[i] < 32)
484 else if (cp[i] ==
'"')
488 else if (cp[i] ==
'\\')
508 if (l == 0 ||
wrbuf_buf(result)[l-1] ==
'\n')
511 for (i = 0; i < indent; i++)
520 sub_indent = indent + 1;
617 return &c->
u.
link[1];
677 np = &(*np)->
u.
link[1];
678 *np = src->
u.
link[0];
693 return p->
cp - p->
buf;