aboutsummaryrefslogtreecommitdiffstats
path: root/epan/print.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2018-03-21 11:43:54 -0700
committerGerald Combs <gerald@wireshark.org>2018-03-23 00:06:07 +0000
commit9b83aaeccc06f83ba63e4baa246032e2a8719bb2 (patch)
treecd2f2023d527fb0edb734dc55aafca7fa6d49308 /epan/print.c
parent380396e5e6a1d0fce4e4a88ded88242bb46cef74 (diff)
Skip hidden columns when we export packets.
Skip hidden columns when we export to CSV, EK, and PSML. Change-Id: Id1dc0f4d3cf34e74ce52893d0f0a30f4b4d61aed Reviewed-on: https://code.wireshark.org/review/26588 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl> Petri-Dish: Jaap Keuter <jaap.keuter@xs4all.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'epan/print.c')
-rw-r--r--epan/print.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/epan/print.c b/epan/print.c
index 7db68423c8..8bc1c45edf 100644
--- a/epan/print.c
+++ b/epan/print.c
@@ -20,6 +20,7 @@
#include <epan/epan_dissect.h>
#include <epan/to_str.h>
#include <epan/expert.h>
+#include <epan/column.h>
#include <epan/column-info.h>
#include <epan/color_filters.h>
#include <epan/prefs.h>
@@ -1165,6 +1166,7 @@ write_ek_summary(column_info *cinfo, FILE *fh)
gint i;
for (i = 0; i < cinfo->num_cols; i++) {
+ if (!get_column_visible(i)) continue;
fputs(", \"", fh);
print_escaped_ek(fh, g_ascii_strdown(cinfo->columns[i].col_title, -1));
fputs("\": \"", fh);
@@ -1559,6 +1561,7 @@ write_psml_preamble(column_info *cinfo, FILE *fh)
fprintf(fh, "<structure>\n");
for (i = 0; i < cinfo->num_cols; i++) {
+ if (!get_column_visible(i)) continue;
fprintf(fh, "<section>");
print_escaped_xml(fh, cinfo->columns[i].col_title);
fprintf(fh, "</section>\n");
@@ -1583,6 +1586,7 @@ write_psml_columns(epan_dissect_t *edt, FILE *fh, gboolean use_color)
}
for (i = 0; i < edt->pi.cinfo->num_cols; i++) {
+ if (!get_column_visible(i)) continue;
fprintf(fh, "<section>");
print_escaped_xml(fh, edt->pi.cinfo->columns[i].col_data);
fprintf(fh, "</section>\n");
@@ -1634,8 +1638,10 @@ write_csv_column_titles(column_info *cinfo, FILE *fh)
{
gint i;
- for (i = 0; i < cinfo->num_cols - 1; i++)
+ for (i = 0; i < cinfo->num_cols - 1; i++) {
+ if (!get_column_visible(i)) continue;
csv_write_str(cinfo->columns[i].col_title, ',', fh);
+ }
csv_write_str(cinfo->columns[i].col_title, '\n', fh);
}
@@ -1644,8 +1650,10 @@ write_csv_columns(epan_dissect_t *edt, FILE *fh)
{
gint i;
- for (i = 0; i < edt->pi.cinfo->num_cols - 1; i++)
+ for (i = 0; i < edt->pi.cinfo->num_cols - 1; i++) {
+ if (!get_column_visible(i)) continue;
csv_write_str(edt->pi.cinfo->columns[i].col_data, ',', fh);
+ }
csv_write_str(edt->pi.cinfo->columns[i].col_data, '\n', fh);
}
@@ -2449,6 +2457,7 @@ static void write_specified_fields(fields_format format, output_fields_t *fields
/* Add columns to fields */
if (fields->includes_col_fields) {
for (col = 0; col < cinfo->num_cols; col++) {
+ if (!get_column_visible(col)) continue;
/* Prepend COLUMN_FIELD_FILTER as the field name */
col_name = g_strdup_printf("%s%s", COLUMN_FIELD_FILTER, cinfo->columns[col].col_title);
field_index = g_hash_table_lookup(fields->field_indicies, col_name);