For JSON RPC, we can actually write multiple JSON objects back
to back, and we don't want a comma between them.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
return p;
}
-void json_out_finished(const struct json_out *jout)
+void json_out_finished(struct json_out *jout)
{
#ifdef CCAN_JSON_OUT_DEBUG
assert(tal_count(jout->wrapping) == 0);
#endif
+ jout->empty = true;
}
const char *json_out_contents(const struct json_out *jout, size_t *len)
* @jout: the json_out object written to.
*
* This simply causes internal assertions that all arrays and objects are
- * finished. It needs CCAN_JSON_OUT_DEBUG defined to have any effect.
+ * finished. If CCAN_JSON_OUT_DEBUG is defined, it does sanity checks.
+ *
+ * This also resets the empty flag, so there will be no comma added if
+ * another JSON object is written.
*/
-void json_out_finished(const struct json_out *jout);
+void json_out_finished(struct json_out *jout);
/**
* json_out_contents - read contents from json_out stream.