diff options
author | Guy Harris <guy@alum.mit.edu> | 2009-06-05 22:42:47 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2009-06-05 22:42:47 +0000 |
commit | cf91fdf16b2d961024ea062503ce5fb91af28186 (patch) | |
tree | 2654abe47f378933a5d325856a7b3f877338dd19 /gtk/h225_counter.c | |
parent | f84499059642f102c7272e72f74d7a986f51b520 (diff) |
Have tap listeners specify whether the "packet" routine requires
a protocol tree;
the column values.
This includes stats-tree listeners.
Have the routines to build the packet list, and to retap packets, honor
those requirements. This means that cf_retap_packets() no longer needs
an argument to specify whether to construct the column values or not, so
get rid of that argument.
This also means that there's no need for a tap to have a fake filter
to ensure that the protocol tree will be built, so don't set up a fake
"frame" filter.
While we're at it, clean up some cases where "no filter" was represented
as a null string rather than a null pointer.
Have a routine to return an indication of the number of tap listeners
with filters; use that rather than the global num_tap_filters.
Clean up some indentation and some gboolean vs. gint items.
svn path=/trunk/; revision=28645
Diffstat (limited to 'gtk/h225_counter.c')
-rw-r--r-- | gtk/h225_counter.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gtk/h225_counter.c b/gtk/h225_counter.c index 3100ef97e5..eef76c0f24 100644 --- a/gtk/h225_counter.c +++ b/gtk/h225_counter.c @@ -503,20 +503,18 @@ static void gtk_h225counter_init(const char *optarg, void *userdata _U_) { h225counter_t *hs; - const char *filter=NULL; GString *error_string; GtkWidget *bbox; GtkWidget *close_bt; + hs=g_malloc(sizeof(h225counter_t)); + if(strncmp(optarg,"h225,counter,",13) == 0){ - filter=optarg+13; + hs->filter=g_strdup(optarg+13); } else { - filter=""; + hs->filter=NULL; } - hs=g_malloc(sizeof(h225counter_t)); - hs->filter=g_strdup(filter); - h225counter_reset(hs); hs->win=window_new(GTK_WINDOW_TOPLEVEL, "Wireshark: H.225 counters"); @@ -525,14 +523,14 @@ gtk_h225counter_init(const char *optarg, void *userdata _U_) hs->vbox=gtk_vbox_new(FALSE, 3); gtk_container_set_border_width(GTK_CONTAINER(hs->vbox), 12); - init_main_stat_window(hs->win, hs->vbox, "H.225 Message and Message Reason Counter", filter); + init_main_stat_window(hs->win, hs->vbox, "H.225 Message and Message Reason Counter", hs->filter); /* init a scrolled window*/ hs->scrolled_window = scrolled_window_new(NULL, NULL); hs->table = create_stat_table(hs->scrolled_window, hs->vbox, 2, titles); - error_string=register_tap_listener("h225", hs, filter, h225counter_reset, h225counter_packet, h225counter_draw); + error_string=register_tap_listener("h225", hs, hs->filter, 0, h225counter_reset, h225counter_packet, h225counter_draw); if(error_string){ simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", error_string->str); g_string_free(error_string, TRUE); @@ -554,7 +552,7 @@ gtk_h225counter_init(const char *optarg, void *userdata _U_) gtk_widget_show_all(hs->win); window_present(hs->win); - cf_retap_packets(&cfile, FALSE); + cf_retap_packets(&cfile); gdk_window_raise(hs->win->window); } |