···15691569 }
1570157015711571 if (found) {
15721572- n += tostr(js, val, buf + n, len - n);
15731573- } else {
15741574- n += cpy(buf + n, len - n, "", 0);
15721572+ uint8_t vt = vtype(val);
15731573+ if (vt == T_STR) {
15741574+ jsoff_t slen, soff = vstr(js, val, &slen);
15751575+ n += cpy(buf + n, len - n, (const char *)&js->mem[soff], slen);
15761576+ } else if (vt != T_UNDEF && vt != T_NULL) n += tostr(js, val, buf + n, len - n);
15751577 }
15761578 }
15771579