void node_send_json(json_t *array) { strbuffer_t strbuff; int rv = strbuffer_init(&strbuff); assert(rv == 0); if (0 == json_dump_callback(array, dump_to_strbuffer, (void *)&strbuff, 0)) { strbuffer_append(&strbuff, "\n"); node_send_raw(strbuffer_value(&strbuff)); } strbuffer_close(&strbuff); json_decref(array); }
static char *bdumps(json_t *json, char **end) { strbuffer_t strbuff; if (strbuffer_init(&strbuff)) { return NULL; } if (w_bser_dump(json, dump_to_strbuffer, &strbuff) == 0) { *end = strbuff.value + strbuff.length; return strbuff.value; } strbuffer_close(&strbuff); return NULL; }
static void lex_close(lex_t *lex) { if(lex->token == TOKEN_STRING) jsonp_free(lex->value.string); strbuffer_close(&lex->saved_text); }
static void lex_close(lex_t *lex) { if(lex->token == TOKEN_STRING) lex_free_string(lex); strbuffer_close(&lex->saved_text); }