]>
git.proxmox.com Git - ceph.git/blob - ceph/src/civetweb/src/third_party/duktape-1.5.2/examples/jxpretty/jxpretty.c
2 * Pretty print JSON from stdin into indented JX.
9 static duk_ret_t
do_jxpretty(duk_context
*ctx
) {
16 duk_error(ctx
, DUK_ERR_ERROR
, "ferror() on stdin");
22 ret
= fread(buf
, 1, sizeof(buf
), f
);
24 fprintf(stderr
, "Read: %ld\n", (long) ret
);
31 duk_require_stack(ctx
, 1);
32 duk_push_lstring(ctx
, (const char *) buf
, ret
);
35 duk_concat(ctx
, duk_get_top(ctx
));
37 duk_eval_string(ctx
, "(function (v) { print(Duktape.enc('jx', JSON.parse(v), null, 4)); })");
44 int main(int argc
, char *argv
[]) {
48 /* suppress warnings */
52 ctx
= duk_create_heap_default();
54 rc
= duk_safe_call(ctx
, do_jxpretty
, 0 /*nargs*/, 1 /*nrets*/);
56 fprintf(stderr
, "ERROR: %s\n", duk_safe_to_string(ctx
, -1));
60 duk_destroy_heap(ctx
);