diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-05-03 00:48:37 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-05-03 00:48:37 +0000 |
commit | ca318813a4d4c28af90b14abdb60f7ecbcb46ea9 (patch) | |
tree | e9aa16cb6d0df21a992929c5fc2cb8f53a13bd04 /gtk | |
parent | a8f171f2ffb7ebba2f270a7baa2df94d35b0fed8 (diff) |
Rename "proto_alloc_dfilter_string()" to
"proto_construct_dfilter_string()", to more accurately reflect what it
does.
Give it, and "proto_can_match_selected()", an "epan_dissect_t *"
argument, which replaces the raw data pointer argument to
"proto_construct_dfilter_string()".
For fields that don't have a type we can directly filter on, we don't
support filtering on the field as raw data if:
the "epan_dissect_t *" argument is null;
the data source tvbuff for the field isn't the tvbuff for the
"epan_dissect_t" in question (i.e., it's in the result of a
reassembly, and "frame[N:M]" can't get at it).
Trim the length the raw data in the case of such a field to the length
of the tvbuff for the "epan_dissect_t" in question, so we don't go past
it. Fetch the raw data bytes to match from that tvbuff.
Have "proto_construct_dfilter_string()" return a null pointer if it
can't construct the filter string, and have "protocolinfo_packet()" in
the tap-protocolinfo tap ignore a field if
"proto_construct_dfilter_string()" can't construct a filter string for
it - and have it pass NULL as the "epan_dissect_t *", for now. If
somebody decides it makes sense to dump out a "frame[N:M] =" value for
non-registered fields, it can be changed to pass "edt".
svn path=/trunk/; revision=7635
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/main.c | 26 | ||||
-rw-r--r-- | gtk/menu.c | 10 |
2 files changed, 18 insertions, 18 deletions
diff --git a/gtk/main.c b/gtk/main.c index b879f6f89f..9d49a2b26d 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1,6 +1,6 @@ /* main.c * - * $Id: main.c,v 1.291 2003/04/23 20:51:57 deniel Exp $ + * $Id: main.c,v 1.292 2003/05/03 00:48:37 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -303,7 +303,7 @@ match_selected_cb_replace_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_REPLACE|MATCH_SELECTED_APPLY_NOW, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -312,7 +312,7 @@ match_selected_cb_and_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_AND|MATCH_SELECTED_APPLY_NOW, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -321,7 +321,7 @@ match_selected_cb_or_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_OR|MATCH_SELECTED_APPLY_NOW, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -330,7 +330,7 @@ match_selected_cb_not_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_NOT|MATCH_SELECTED_APPLY_NOW, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -339,7 +339,7 @@ match_selected_cb_and_ptree_not(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_AND_NOT|MATCH_SELECTED_APPLY_NOW, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -348,7 +348,7 @@ match_selected_cb_or_ptree_not(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_OR_NOT, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -357,7 +357,7 @@ prepare_selected_cb_replace_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_REPLACE, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -366,7 +366,7 @@ prepare_selected_cb_and_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_AND, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -375,7 +375,7 @@ prepare_selected_cb_or_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_OR, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -384,7 +384,7 @@ prepare_selected_cb_not_ptree(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_NOT, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -393,7 +393,7 @@ prepare_selected_cb_and_ptree_not(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_AND_NOT, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } void @@ -402,7 +402,7 @@ prepare_selected_cb_or_ptree_not(GtkWidget *w, gpointer data) if (finfo_selected) match_selected_cb_do((data ? data : w), MATCH_SELECTED_OR_NOT, - proto_alloc_dfilter_string(finfo_selected, cfile.pd)); + proto_construct_dfilter_string(finfo_selected, cfile.edt)); } static gchar * diff --git a/gtk/menu.c b/gtk/menu.c index 3655b9d377..3c613e8c68 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -1,7 +1,7 @@ /* menu.c * Menu routines * - * $Id: menu.c,v 1.92 2003/04/23 05:37:22 guy Exp $ + * $Id: menu.c,v 1.93 2003/05/03 00:48:37 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -757,13 +757,13 @@ set_menus_for_selected_tree_row(gboolean have_selected_tree) "/Go To Corresponding Frame", FALSE); } set_menu_sensitivity(main_menu_factory, "/Display/Match", - proto_can_match_selected(finfo_selected)); + proto_can_match_selected(finfo_selected, cfile.edt)); set_menu_sensitivity(tree_view_menu_factory, "/Match", - proto_can_match_selected(finfo_selected)); + proto_can_match_selected(finfo_selected, cfile.edt)); set_menu_sensitivity(main_menu_factory, "/Display/Prepare", - proto_can_match_selected(finfo_selected)); + proto_can_match_selected(finfo_selected, cfile.edt)); set_menu_sensitivity(tree_view_menu_factory, "/Prepare", - proto_can_match_selected(finfo_selected)); + proto_can_match_selected(finfo_selected, cfile.edt)); } else { set_menu_sensitivity(main_menu_factory, "/Display/Match", FALSE); set_menu_sensitivity(tree_view_menu_factory, "/Match", FALSE); |