summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authorChris Maynard <Christopher.Maynard@GTECH.COM>2011-12-09 19:44:28 +0000
committerChris Maynard <Christopher.Maynard@GTECH.COM>2011-12-09 19:44:28 +0000
commit36074c9828ff0f169656c2a0d5d022611b013a55 (patch)
treecd14053c7d7ee2d674e6e4e1c0ec31f64334f279 /file.c
parent08ca01b2a4affc5df6e9fef0aaafe35aa72b0978 (diff)
downloadwireshark-36074c9828ff0f169656c2a0d5d022611b013a55.tar.gz
Export all data sources of a frame to a C array. Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4988
svn path=/trunk/; revision=40136
Diffstat (limited to 'file.c')
-rw-r--r--file.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/file.c b/file.c
index f6b9af91d8..f63abd69c6 100644
--- a/file.c
+++ b/file.c
@@ -2708,12 +2708,17 @@ cf_write_csv_packets(capture_file *cf, print_args_t *print_args)
static gboolean
write_carrays_packet(capture_file *cf _U_, frame_data *fdata,
- union wtap_pseudo_header *pseudo_header _U_,
+ union wtap_pseudo_header *pseudo_header,
const guint8 *pd, void *argsp)
{
FILE *fh = argsp;
+ epan_dissect_t edt;
+
+ epan_dissect_init(&edt, TRUE, TRUE);
+ epan_dissect_run(&edt, pseudo_header, pd, fdata, NULL);
+ proto_tree_write_carrays(fdata->num, fh, &edt);
+ epan_dissect_cleanup(&edt);
- proto_tree_write_carrays(pd, fdata->cap_len, fdata->num, fh);
return !ferror(fh);
}