aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>2004-04-16 18:17:48 +0000
committerulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>2004-04-16 18:17:48 +0000
commit1c7b2991059b9d577325b6d2e803a9e3fac9162d (patch)
tree861d737930c8f4c8d484a64d14dc142f90174a85
parent5a179ac6ca28798e2c4d314e5b8eceead09357bf (diff)
make print dialog "Packet Format" options somewhat similar to the
Ethereal panes, thus better understandable git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@10611 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--file.c48
-rw-r--r--gtk/print_dlg.c130
-rw-r--r--print.c37
-rw-r--r--tethereal.c6
4 files changed, 140 insertions, 81 deletions
diff --git a/file.c b/file.c
index fa7ca74906..6b933d93bf 100644
--- a/file.c
+++ b/file.c
@@ -1,7 +1,7 @@
/* file.c
* File I/O routines
*
- * $Id: file.c,v 1.373 2004/04/15 23:28:10 guy Exp $
+ * $Id: file.c,v 1.374 2004/04/16 18:17:47 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -1506,13 +1506,22 @@ print_packet(capture_file *cf, frame_data *fdata,
int line_len;
int column_len;
int cp_off;
+ gboolean proto_tree_needed;
+
+
+ proto_tree_needed =
+ args->print_args->print_dissections != print_dissections_none || args->print_args->print_hex;
+
+ /* Fill in the column information, but don't bother creating
+ the logical protocol tree. */
+ edt = epan_dissect_new(proto_tree_needed, proto_tree_needed);
+ epan_dissect_run(edt, pseudo_header, pd, fdata, &cf->cinfo);
+ epan_dissect_fill_in_columns(edt);
+
+ if (args->print_separator)
+ print_line(args->print_fh, 0, args->print_args->format, "");
if (args->print_args->print_summary) {
- /* Fill in the column information, but don't bother creating
- the logical protocol tree. */
- edt = epan_dissect_new(FALSE, FALSE);
- epan_dissect_run(edt, pseudo_header, pd, fdata, &cf->cinfo);
- epan_dissect_fill_in_columns(edt);
cp = &args->line_buf[0];
line_len = 0;
for (i = 0; i < cf->cinfo.num_cols; i++) {
@@ -1542,27 +1551,24 @@ print_packet(capture_file *cf, frame_data *fdata,
}
*cp = '\0';
print_line(args->print_fh, 0, args->print_args->format, args->line_buf);
- } else {
- if (args->print_separator)
- print_line(args->print_fh, 0, args->print_args->format, "");
-
- /* Create the logical protocol tree, complete with the display
- representation of the items; we don't need the columns here,
- however. */
- edt = epan_dissect_new(TRUE, TRUE);
- epan_dissect_run(edt, pseudo_header, pd, fdata, NULL);
-
+ } /* if (print_summary) */
+
+ if (args->print_args->print_dissections != print_dissections_none) {
/* Print the information in that tree. */
proto_tree_print(args->print_args, edt, args->print_fh);
- if (args->print_args->print_hex) {
- /* Print the full packet data as hex. */
- print_hex_data(args->print_fh, args->print_args->format, edt);
- }
+ /* Print a blank line if we print anything after this (aka more than one packet). */
+ args->print_separator = TRUE;
+ }
+
+ if (args->print_args->print_hex) {
+ /* Print the full packet data as hex. */
+ print_hex_data(args->print_fh, args->print_args->format, edt);
- /* Print a blank line if we print anything after this. */
+ /* Print a blank line if we print anything after this (aka more than one packet). */
args->print_separator = TRUE;
} /* if (print_summary) */
+
epan_dissect_free(edt);
return !ferror(args->print_fh);
diff --git a/gtk/print_dlg.c b/gtk/print_dlg.c
index 1cfebbc776..e64efd6b69 100644
--- a/gtk/print_dlg.c
+++ b/gtk/print_dlg.c
@@ -1,7 +1,7 @@
/* print_dlg.c
* Dialog boxes for printing
*
- * $Id: print_dlg.c,v 1.65 2004/04/16 05:30:39 ulfl Exp $
+ * $Id: print_dlg.c,v 1.66 2004/04/16 18:17:48 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -85,13 +85,15 @@ static gchar * print_cmd;
#define PRINT_PDML_RB_KEY "printer_pdml_radio_button"
#define PRINT_DEST_CB_KEY "printer_destination_check_button"
+#define PRINT_SUMMARY_CB_KEY "printer_summary_check_button"
#define PRINT_DETAILS_CB_KEY "printer_details_check_button"
-#define PRINT_NONE_RB_KEY "printer_none_radio_button"
#define PRINT_COLLAPSE_ALL_RB_KEY "printer_collapse_all_radio_button"
#define PRINT_AS_DISPLAYED_RB_KEY "printer_as_displayed_radio_button"
#define PRINT_EXPAND_ALL_RB_KEY "printer_expand_all_radio_button"
#define PRINT_HEX_CB_KEY "printer_hex_check_button"
+#define PRINT_BT_KEY "printer_button"
+
/* XXX - can we make these not be static? */
static packet_range_t range;
static GtkWidget *captured_bt;
@@ -330,10 +332,13 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
GtkWidget *packet_hb;
- GtkWidget *details_sep;
GtkWidget *format_fr, *format_vb;
- GtkWidget *details_cb, *details_vb;
- GtkWidget *none_rb, *collapse_all_rb, *as_displayed_rb, *expand_all_rb,*hex_cb;
+ GtkWidget *summary_cb;
+
+ GtkWidget *details_cb;
+ GtkWidget *details_hb, *details_vb;
+ GtkWidget *collapse_all_rb, *as_displayed_rb, *expand_all_rb;
+ GtkWidget *hex_cb;
GtkWidget *bbox, *ok_bt, *cancel_bt;
@@ -613,64 +618,73 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_container_add(GTK_CONTAINER(format_fr), format_vb);
gtk_widget_show(format_vb);
- /* "Print detail" check buttons */
- details_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC("Packet d_etails:", accel_group);
+ /* "Print summary line" check button */
+ summary_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC("Packet summary line", accel_group);
+ gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(summary_cb), FALSE);
+ SIGNAL_CONNECT(summary_cb, "clicked", print_cmd_toggle_detail, print_w);
+ gtk_tooltips_set_tip (tooltips, summary_cb, ("Print a packet summary line, like in the packet list"), NULL);
+ gtk_container_add(GTK_CONTAINER(format_vb), summary_cb);
+ gtk_widget_show(summary_cb);
+
+
+ /* "Details" check button */
+ details_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC("Packet details:", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(details_cb), TRUE);
- SIGNAL_CONNECT(details_cb, "clicked", print_cmd_toggle_detail, NULL);
- gtk_tooltips_set_tip (tooltips, details_cb, ("Print packet details, or a packet summary line only"), NULL);
+ SIGNAL_CONNECT(details_cb, "clicked", print_cmd_toggle_detail, print_w);
+ gtk_tooltips_set_tip (tooltips, details_cb, ("Print the selected packet details (protocol tree)."), NULL);
gtk_container_add(GTK_CONTAINER(format_vb), details_cb);
gtk_widget_show(details_cb);
-
/*** packet details ***/
- details_sep = gtk_hseparator_new();
- gtk_box_pack_start(GTK_BOX(format_vb), details_sep, FALSE, FALSE, 0);
- gtk_widget_show(details_sep);
+ details_hb = gtk_hbox_new(FALSE, 6);
+ gtk_container_border_width(GTK_CONTAINER(details_hb), 0);
+ gtk_container_add(GTK_CONTAINER(format_vb), details_hb);
+ gtk_widget_show(details_hb);
- details_vb = gtk_vbox_new(FALSE, 5);
+ details_vb = gtk_vbox_new(FALSE, 6);
gtk_container_border_width(GTK_CONTAINER(details_vb), 0);
- gtk_container_add(GTK_CONTAINER(format_vb), details_vb);
+ gtk_container_add(GTK_CONTAINER(details_hb), details_vb);
gtk_widget_show(details_vb);
- /* "None"/"All collapsed"/"As displayed"/"All Expanded" radio buttons */
- none_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL, "_No dissections", accel_group);
- gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(none_rb), FALSE);
- gtk_tooltips_set_tip (tooltips, none_rb, ("Don't print a packet details tree at all. "
- "Use this together with the \"Packet hex data\" option, to get a plain packet hexdump."), NULL);
- gtk_container_add(GTK_CONTAINER(details_vb), none_rb);
- gtk_widget_show(none_rb);
+ details_vb = gtk_vbox_new(FALSE, 6);
+ gtk_container_border_width(GTK_CONTAINER(details_vb), 0);
+ gtk_container_add(GTK_CONTAINER(details_hb), details_vb);
+ gtk_widget_show(details_vb);
- collapse_all_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(none_rb, "All dissections co_llapsed", accel_group);
+ /* "All collapsed"/"As displayed"/"All Expanded" radio buttons */
+ collapse_all_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL, "All co_llapsed", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(collapse_all_rb), FALSE);
gtk_tooltips_set_tip (tooltips, collapse_all_rb, ("Print packet details tree \"collapsed\""), NULL);
gtk_container_add(GTK_CONTAINER(details_vb), collapse_all_rb);
gtk_widget_show(collapse_all_rb);
- as_displayed_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(none_rb, "Dissections as displa_yed", accel_group);
+ as_displayed_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(collapse_all_rb, "As displa_yed", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(as_displayed_rb), TRUE);
gtk_tooltips_set_tip (tooltips, as_displayed_rb, ("Print packet details tree \"as displayed\""), NULL);
gtk_container_add(GTK_CONTAINER(details_vb), as_displayed_rb);
gtk_widget_show(as_displayed_rb);
- expand_all_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(none_rb, "All dissections e_xpanded", accel_group);
+ expand_all_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(collapse_all_rb, "All e_xpanded", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(expand_all_rb), FALSE);
gtk_tooltips_set_tip (tooltips, expand_all_rb, ("Print packet details tree \"expanded\""), NULL);
gtk_container_add(GTK_CONTAINER(details_vb), expand_all_rb);
gtk_widget_show(expand_all_rb);
/* "Print hex" check button. */
- hex_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC("Packet _hex data", accel_group);
+ hex_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC("Packet bytes", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(hex_cb), FALSE);
+ SIGNAL_CONNECT(hex_cb, "clicked", print_cmd_toggle_detail, print_w);
gtk_tooltips_set_tip (tooltips, hex_cb, ("Add hexdump of packet data"), NULL);
- gtk_container_add(GTK_CONTAINER(details_vb), hex_cb);
+ gtk_container_add(GTK_CONTAINER(format_vb), hex_cb);
gtk_widget_show(hex_cb);
- OBJECT_SET_DATA(details_cb, PRINT_NONE_RB_KEY, none_rb);
- OBJECT_SET_DATA(details_cb, PRINT_COLLAPSE_ALL_RB_KEY, collapse_all_rb);
- OBJECT_SET_DATA(details_cb, PRINT_AS_DISPLAYED_RB_KEY, as_displayed_rb);
- OBJECT_SET_DATA(details_cb, PRINT_EXPAND_ALL_RB_KEY, expand_all_rb);
- OBJECT_SET_DATA(details_cb, PRINT_HEX_CB_KEY, hex_cb);
+ OBJECT_SET_DATA(print_w, PRINT_SUMMARY_CB_KEY, summary_cb);
+ OBJECT_SET_DATA(print_w, PRINT_DETAILS_CB_KEY, details_cb);
+ OBJECT_SET_DATA(print_w, PRINT_COLLAPSE_ALL_RB_KEY, collapse_all_rb);
+ OBJECT_SET_DATA(print_w, PRINT_AS_DISPLAYED_RB_KEY, as_displayed_rb);
+ OBJECT_SET_DATA(print_w, PRINT_EXPAND_ALL_RB_KEY, expand_all_rb);
+ OBJECT_SET_DATA(print_w, PRINT_HEX_CB_KEY, hex_cb);
/*****************************************************/
@@ -681,6 +695,9 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
gtk_widget_show(bbox);
ok_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_PRINT);
+
+ OBJECT_SET_DATA(print_w, PRINT_BT_KEY, ok_bt);
+
OBJECT_SET_DATA(ok_bt, PRINT_PS_RB_KEY, ps_rb);
OBJECT_SET_DATA(ok_bt, PRINT_PDML_RB_KEY, pdml_rb);
OBJECT_SET_DATA(ok_bt, PRINT_DEST_CB_KEY, dest_cb);
@@ -689,11 +706,12 @@ file_print_cmd_cb(GtkWidget *widget _U_, gpointer data _U_)
#endif
OBJECT_SET_DATA(ok_bt, PRINT_FILE_TE_KEY, file_te);
+ OBJECT_SET_DATA(ok_bt, PRINT_SUMMARY_CB_KEY, summary_cb);
OBJECT_SET_DATA(ok_bt, PRINT_DETAILS_CB_KEY, details_cb);
- OBJECT_SET_DATA(ok_bt, PRINT_HEX_CB_KEY, hex_cb);
OBJECT_SET_DATA(ok_bt, PRINT_COLLAPSE_ALL_RB_KEY, collapse_all_rb);
OBJECT_SET_DATA(ok_bt, PRINT_AS_DISPLAYED_RB_KEY, as_displayed_rb);
OBJECT_SET_DATA(ok_bt, PRINT_EXPAND_ALL_RB_KEY, expand_all_rb);
+ OBJECT_SET_DATA(ok_bt, PRINT_HEX_CB_KEY, hex_cb);
SIGNAL_CONNECT(ok_bt, "clicked", print_ok_cb, print_w);
gtk_widget_grab_default(ok_bt);
@@ -751,21 +769,24 @@ print_cmd_toggle_dest(GtkWidget *widget, gpointer data _U_)
gtk_widget_set_sensitive(file_te, to_file);
}
+
static void
-print_cmd_toggle_detail(GtkWidget *widget, gpointer data _U_)
+print_cmd_toggle_detail(GtkWidget *widget _U_, gpointer data)
{
- GtkWidget *none_rb, *collapse_all_rb, *expand_all_rb, *as_displayed_rb, *hex_cb;
+ GtkWidget *print_bt, *summary_cb, *details_cb, *collapse_all_rb, *expand_all_rb, *as_displayed_rb, *hex_cb;
gboolean print_detail;
- none_rb = GTK_WIDGET(OBJECT_GET_DATA(widget, PRINT_NONE_RB_KEY));
- collapse_all_rb = GTK_WIDGET(OBJECT_GET_DATA(widget, PRINT_COLLAPSE_ALL_RB_KEY));
- as_displayed_rb = GTK_WIDGET(OBJECT_GET_DATA(widget,
+ print_bt = GTK_WIDGET(OBJECT_GET_DATA(data, PRINT_BT_KEY));
+ summary_cb = GTK_WIDGET(OBJECT_GET_DATA(data, PRINT_SUMMARY_CB_KEY));
+ details_cb = GTK_WIDGET(OBJECT_GET_DATA(data, PRINT_DETAILS_CB_KEY));
+ collapse_all_rb = GTK_WIDGET(OBJECT_GET_DATA(data, PRINT_COLLAPSE_ALL_RB_KEY));
+ as_displayed_rb = GTK_WIDGET(OBJECT_GET_DATA(data,
PRINT_AS_DISPLAYED_RB_KEY));
- expand_all_rb = GTK_WIDGET(OBJECT_GET_DATA(widget, PRINT_EXPAND_ALL_RB_KEY));
- hex_cb = GTK_WIDGET(OBJECT_GET_DATA(widget, PRINT_HEX_CB_KEY));
+ expand_all_rb = GTK_WIDGET(OBJECT_GET_DATA(data, PRINT_EXPAND_ALL_RB_KEY));
+ hex_cb = GTK_WIDGET(OBJECT_GET_DATA(data, PRINT_HEX_CB_KEY));
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget))) {
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (details_cb))) {
/* They selected "Print detail" */
print_detail = TRUE;
} else {
@@ -773,11 +794,16 @@ print_cmd_toggle_detail(GtkWidget *widget, gpointer data _U_)
print_detail = FALSE;
}
- gtk_widget_set_sensitive(none_rb, print_detail);
gtk_widget_set_sensitive(collapse_all_rb, print_detail);
gtk_widget_set_sensitive(as_displayed_rb, print_detail);
gtk_widget_set_sensitive(expand_all_rb, print_detail);
- gtk_widget_set_sensitive(hex_cb, print_detail);
+
+ print_detail =
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (summary_cb)) ||
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (details_cb)) ||
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (hex_cb));
+
+ gtk_widget_set_sensitive(print_bt, print_detail);
}
#ifdef _WIN32
@@ -844,13 +870,8 @@ print_ok_cb(GtkWidget *ok_bt, gpointer parent_w)
print_format = PR_FMT_PDML;
print_args.format = print_format;
- button = (GtkWidget *)OBJECT_GET_DATA(ok_bt, PRINT_DETAILS_CB_KEY);
- print_args.print_summary = !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button));
-
- button = (GtkWidget *)OBJECT_GET_DATA(ok_bt, PRINT_HEX_CB_KEY);
- print_args.print_hex = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button));
-
- print_args.print_dissections = print_dissections_none;
+ button = (GtkWidget *)OBJECT_GET_DATA(ok_bt, PRINT_SUMMARY_CB_KEY);
+ print_args.print_summary = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button));
button = (GtkWidget *)OBJECT_GET_DATA(ok_bt, PRINT_COLLAPSE_ALL_RB_KEY);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button))) {
@@ -865,6 +886,15 @@ print_ok_cb(GtkWidget *ok_bt, gpointer parent_w)
print_args.print_dissections = print_dissections_expanded;
}
+ /* the details setting has priority over the radio buttons */
+ button = (GtkWidget *)OBJECT_GET_DATA(ok_bt, PRINT_DETAILS_CB_KEY);
+ if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button))) {
+ print_args.print_dissections = print_dissections_none;
+ }
+
+ button = (GtkWidget *)OBJECT_GET_DATA(ok_bt, PRINT_HEX_CB_KEY);
+ print_args.print_hex = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (button));
+
print_args.range = range;
gtk_widget_destroy(GTK_WIDGET(parent_w));
diff --git a/print.c b/print.c
index 9320a62157..56e085654d 100644
--- a/print.c
+++ b/print.c
@@ -1,7 +1,7 @@
/* print.c
* Routines for printing packet analysis trees.
*
- * $Id: print.c,v 1.73 2004/04/15 19:56:15 ulfl Exp $
+ * $Id: print.c,v 1.74 2004/04/16 18:17:47 ulfl Exp $
*
* Gilbert Ramirez <gram@alumni.rice.edu>
*
@@ -187,8 +187,7 @@ void proto_tree_print_node(proto_node *node, gpointer data)
proto_item_fill_label(fi, label_str);
}
- if (pdata->print_dissections != print_dissections_none)
- print_line(pdata->fh, pdata->level, pdata->format, label_ptr);
+ print_line(pdata->fh, pdata->level, pdata->format, label_ptr);
/* If it's uninterpreted data, dump it (unless our caller will
be printing the entire packet in hex). */
@@ -334,6 +333,14 @@ proto_tree_print_node_pdml(proto_node *node, gpointer data)
print_escaped_xml(pdata->fh, label_ptr);
}
+#if 0
+ fputs("\" showname=\"", pdata->fh);
+ print_escaped_xml(pdata->fh, fi->hfinfo->name);
+ if(!fi->visible) {
+ fprintf(pdata->fh, "\" hide=\"yes");
+ }
+#endif
+
fprintf(pdata->fh, "\" size=\"%d", fi->length);
fprintf(pdata->fh, "\" pos=\"%d", fi->start);
/* fprintf(pdata->fh, "\" id=\"%d", fi->hfinfo->id);*/
@@ -654,12 +661,20 @@ void ps_clean_string(unsigned char *out, const unsigned char *in,
void
print_preamble(FILE *fh, gint format)
{
- if (format == PR_FMT_PS)
+ switch(format) {
+ case(PR_FMT_TEXT):
+ /* do nothing */
+ break;
+ case(PR_FMT_PS):
print_ps_preamble(fh);
- else if (format == PR_FMT_PDML) {
+ break;
+ case(PR_FMT_PDML):
fputs("<?xml version=\"1.0\"?>\n", fh);
fputs("<pdml version=\"" PDML_VERSION "\" ", fh);
fprintf(fh, "creator=\"%s/%s\">\n", PACKAGE, VERSION);
+ break;
+ default:
+ g_assert_not_reached();
}
}
@@ -667,10 +682,18 @@ print_preamble(FILE *fh, gint format)
void
print_finale(FILE *fh, gint format)
{
- if (format == PR_FMT_PS)
+ switch(format) {
+ case(PR_FMT_TEXT):
+ /* do nothing */
+ break;
+ case(PR_FMT_PS):
print_ps_finale(fh);
- else if (format == PR_FMT_PDML) {
+ break;
+ case(PR_FMT_PDML):
fputs("</pdml>\n", fh);
+ break;
+ default:
+ g_assert_not_reached();
}
}
diff --git a/tethereal.c b/tethereal.c
index 2450495d7a..1efad85f36 100644
--- a/tethereal.c
+++ b/tethereal.c
@@ -1,6 +1,6 @@
/* tethereal.c
*
- * $Id: tethereal.c,v 1.233 2004/03/23 21:19:56 guy Exp $
+ * $Id: tethereal.c,v 1.234 2004/04/16 18:17:47 ulfl Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -2609,8 +2609,8 @@ wtap_dispatch_cb_print(guchar *user, const struct wtap_pkthdr *phdr,
print_args.to_file = TRUE;
print_args.format = print_format;
print_args.print_summary = !verbose;
- print_args.print_hex = print_hex;
- print_args.print_dissections = print_dissections_expanded;
+ print_args.print_hex = verbose && print_hex;
+ print_args.print_dissections = verbose ? print_dissections_expanded : print_dissections_none;
/* init the packet range */
packet_range_init(&print_args.range);