diff options
author | Dario Lombardo <lomato@gmail.com> | 2018-12-10 13:44:03 +0100 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2019-01-03 14:33:48 +0000 |
commit | 30c90fa745af6b63da6aa6b59e4fbb24d2f195bd (patch) | |
tree | 02bdfdbc37fe7f9178167e1cef6bd71bcc66af7c /tshark.c | |
parent | 19d787d0514696eff4b723d23c7615155c23b245 (diff) |
epan: use json_dumper for json outputs.
They include -Tjson, -Tjsonraw, -Tek.
Change-Id: Ib3d700482ce5c29727c3f778cc3c46a1bf7756c4
Reviewed-on: https://code.wireshark.org/review/31000
Petri-Dish: Dario Lombardo <lomato@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'tshark.c')
-rw-r--r-- | tshark.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -114,6 +114,7 @@ #include <wsutil/str_util.h> #include <wsutil/utf8_entities.h> +#include <wsutil/json_dumper.h> #include "extcap.h" @@ -193,6 +194,8 @@ static pf_flags protocolfilter_flags = PF_NONE; static gboolean no_duplicate_keys = FALSE; static proto_node_children_grouper_func node_children_grouper = proto_node_group_children_by_unique; +static json_dumper jdumper; + /* The line separator used between packets, changeable via the -S option */ static const char *separator = ""; @@ -3559,11 +3562,11 @@ write_preamble(capture_file *cf) case WRITE_JSON: case WRITE_JSON_RAW: - write_json_preamble(stdout); + jdumper = write_json_preamble(stdout); return !ferror(stdout); case WRITE_EK: - return !ferror(stdout); + return TRUE; default: g_assert_not_reached(); @@ -3916,7 +3919,7 @@ print_packet(capture_file *cf, epan_dissect_t *edt) if (print_details) { write_json_proto_tree(output_fields, print_dissections_expanded, print_hex, protocolfilter, protocolfilter_flags, - edt, &cf->cinfo, node_children_grouper, stdout); + edt, &cf->cinfo, node_children_grouper, &jdumper); return !ferror(stdout); } break; @@ -3927,7 +3930,7 @@ print_packet(capture_file *cf, epan_dissect_t *edt) if (print_details) { write_json_proto_tree(output_fields, print_dissections_none, TRUE, protocolfilter, protocolfilter_flags, - edt, &cf->cinfo, node_children_grouper, stdout); + edt, &cf->cinfo, node_children_grouper, &jdumper); return !ferror(stdout); } break; @@ -3972,11 +3975,11 @@ write_finale(void) case WRITE_JSON: case WRITE_JSON_RAW: - write_json_finale(stdout); + write_json_finale(&jdumper); return !ferror(stdout); case WRITE_EK: - return !ferror(stdout); + return TRUE; default: g_assert_not_reached(); |