Rename a bunch of variables and routines that pertain to string search

with "string" rather than "ascii", to make it clearer what they're
involved with.

Use "gtk_toggle_button_set_active()", not
"gtk_toggle_button_set_state()" (the latter is a deprecated alias for
the former, probably dating back to GTK+ 1.0[.x] - 1.2[.x] and later
have "gtk_toggle_button_set_active()").

Do *NOT* change the radio buttons for the type of string search to do
based on whether we're doing a string search or not - doing so means we
don't correctly remember the type of string search.

Get rid of code to fetch some values that we don't subsequently use.

svn path=/trunk/; revision=10609
This commit is contained in:
Guy Harris 2004-04-15 23:28:11 +00:00
parent e6ee0dc7c7
commit e5f2451735
3 changed files with 38 additions and 55 deletions

View File

@ -1,7 +1,7 @@
/* cfile.h /* cfile.h
* capture_file definition & GUI-independent manipulation * capture_file definition & GUI-independent manipulation
* *
* $Id: cfile.h,v 1.9 2004/02/03 00:16:58 ulfl Exp $ * $Id: cfile.h,v 1.10 2004/04/15 23:28:10 guy Exp $
* *
* Ethereal - Network traffic analyzer * Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com> * By Gerald Combs <gerald@ethereal.com>
@ -73,7 +73,7 @@ typedef struct _capture_file {
gchar *sfilter; /* Search filter string */ gchar *sfilter; /* Search filter string */
gboolean sbackward; /* TRUE if search is backward, FALSE if forward */ gboolean sbackward; /* TRUE if search is backward, FALSE if forward */
gboolean hex; /* TRUE is raw data search is being performed */ gboolean hex; /* TRUE is raw data search is being performed */
gboolean ascii; /* TRUE is text search is being performed */ gboolean string; /* TRUE is text search is being performed */
search_charset_t scs_type; /* Character set for text search */ search_charset_t scs_type; /* Character set for text search */
gboolean case_type; /* TRUE if case-insensitive text search */ gboolean case_type; /* TRUE if case-insensitive text search */
gboolean decode_data; /* TRUE if searching protocol tree text */ gboolean decode_data; /* TRUE if searching protocol tree text */

4
file.c
View File

@ -1,7 +1,7 @@
/* file.c /* file.c
* File I/O routines * File I/O routines
* *
* $Id: file.c,v 1.372 2004/04/14 05:46:34 ulfl Exp $ * $Id: file.c,v 1.373 2004/04/15 23:28:10 guy Exp $
* *
* Ethereal - Network traffic analyzer * Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com> * By Gerald Combs <gerald@ethereal.com>
@ -2019,7 +2019,7 @@ find_packet_data(capture_file *cf, const guint8 *string, size_t string_size)
info.data_len = string_size; info.data_len = string_size;
/* String or hex search? */ /* String or hex search? */
if (cf->ascii) { if (cf->string) {
/* String search - what type of string? */ /* String search - what type of string? */
switch (cf->scs_type) { switch (cf->scs_type) {

View File

@ -1,7 +1,7 @@
/* find_dlg.c /* find_dlg.c
* Routines for "find frame" window * Routines for "find frame" window
* *
* $Id: find_dlg.c,v 1.50 2004/02/29 10:41:03 ulfl Exp $ * $Id: find_dlg.c,v 1.51 2004/04/15 23:28:11 guy Exp $
* *
* Ethereal - Network traffic analyzer * Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com> * By Gerald Combs <gerald@ethereal.com>
@ -50,7 +50,7 @@
#define E_FIND_FILT_KEY "find_filter_te" #define E_FIND_FILT_KEY "find_filter_te"
#define E_FIND_BACKWARD_KEY "find_backward" #define E_FIND_BACKWARD_KEY "find_backward"
#define E_FIND_HEXDATA_KEY "find_hex" #define E_FIND_HEXDATA_KEY "find_hex"
#define E_FIND_ASCIIDATA_KEY "find_ascii" #define E_FIND_STRINGDATA_KEY "find_string"
#define E_FIND_FILTERDATA_KEY "find_filter" #define E_FIND_FILTERDATA_KEY "find_filter"
#define E_FIND_STRINGTYPE_KEY "find_string_type" #define E_FIND_STRINGTYPE_KEY "find_string_type"
#define E_FIND_STRINGTYPE_LABEL_KEY "find_string_type_label" #define E_FIND_STRINGTYPE_LABEL_KEY "find_string_type_label"
@ -80,7 +80,7 @@ static void
hex_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w); hex_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w);
static void static void
ascii_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w); string_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w);
static void static void
filter_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w); filter_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w);
@ -103,7 +103,7 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
GtkWidget *main_vb, *main_find_hb, *main_options_hb, GtkWidget *main_vb, *main_find_hb, *main_options_hb,
*find_type_frame, *find_type_vb, *find_type_frame, *find_type_vb,
*find_type_hb, *find_type_lb, *hex_rb, *ascii_rb, *filter_rb, *find_type_hb, *find_type_lb, *hex_rb, *string_rb, *filter_rb,
*filter_hb, *filter_bt, *filter_hb, *filter_bt,
*direction_frame, *direction_vb, *direction_frame, *direction_vb,
@ -183,7 +183,7 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
/* Filter */ /* Filter */
filter_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL, filter_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL,
"_Display Filter", accel_group); "_Display Filter", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(filter_rb), !cfile.hex && !cfile.ascii); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filter_rb), !cfile.hex && !cfile.string);
gtk_box_pack_start(GTK_BOX(find_type_hb), filter_rb, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(find_type_hb), filter_rb, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, filter_rb, ("Search for data by display filter syntax.\ne.g. ip.addr==10.1.1.1"), NULL); gtk_tooltips_set_tip (tooltips, filter_rb, ("Search for data by display filter syntax.\ne.g. ip.addr==10.1.1.1"), NULL);
gtk_widget_show(filter_rb); gtk_widget_show(filter_rb);
@ -191,18 +191,18 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
/* Hex */ /* Hex */
hex_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(filter_rb, hex_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(filter_rb,
"_Hex value", accel_group); "_Hex value", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(hex_rb), cfile.hex); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hex_rb), cfile.hex);
gtk_box_pack_start(GTK_BOX(find_type_hb), hex_rb, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(find_type_hb), hex_rb, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, hex_rb, ("Search for data by hex string.\ne.g. fffffda5"), NULL); gtk_tooltips_set_tip (tooltips, hex_rb, ("Search for data by hex string.\ne.g. fffffda5"), NULL);
gtk_widget_show(hex_rb); gtk_widget_show(hex_rb);
/* ASCII Search */ /* ASCII Search */
ascii_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(filter_rb, string_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(filter_rb,
"_String", accel_group); "_String", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(ascii_rb), cfile.ascii); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(string_rb), cfile.string);
gtk_box_pack_start(GTK_BOX(find_type_hb), ascii_rb, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(find_type_hb), string_rb, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, ascii_rb, ("Search for data by string value.\ne.g. My String"), NULL); gtk_tooltips_set_tip (tooltips, string_rb, ("Search for data by string value.\ne.g. My String"), NULL);
gtk_widget_show(ascii_rb); gtk_widget_show(string_rb);
/* Filter row */ /* Filter row */
filter_hb = gtk_hbox_new(FALSE, 3); filter_hb = gtk_hbox_new(FALSE, 3);
@ -246,7 +246,7 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
/* Packet list */ /* Packet list */
summary_data_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL, summary_data_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL,
"Packet list", accel_group); "Packet list", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(summary_data_rb), summary_data); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(summary_data_rb), summary_data);
gtk_box_pack_start(GTK_BOX(data_vb), summary_data_rb, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(data_vb), summary_data_rb, TRUE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, summary_data_rb, ("Search for string in the Info column of the packet summary (top pane)"), NULL); gtk_tooltips_set_tip (tooltips, summary_data_rb, ("Search for string in the Info column of the packet summary (top pane)"), NULL);
gtk_widget_show(summary_data_rb); gtk_widget_show(summary_data_rb);
@ -254,7 +254,7 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
/* Packet details */ /* Packet details */
decode_data_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(summary_data_rb, decode_data_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(summary_data_rb,
"Packet details", accel_group); "Packet details", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(decode_data_rb), decode_data); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(decode_data_rb), decode_data);
gtk_box_pack_start(GTK_BOX(data_vb), decode_data_rb, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(data_vb), decode_data_rb, TRUE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, decode_data_rb, ("Search for string in the decoded packet display (middle pane)"), NULL); gtk_tooltips_set_tip (tooltips, decode_data_rb, ("Search for string in the decoded packet display (middle pane)"), NULL);
gtk_widget_show(decode_data_rb); gtk_widget_show(decode_data_rb);
@ -262,12 +262,11 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
/* Packet bytes */ /* Packet bytes */
hex_data_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(summary_data_rb, hex_data_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(summary_data_rb,
"Packet bytes", accel_group); "Packet bytes", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(hex_data_rb), !decode_data && !summary_data); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hex_data_rb), !decode_data && !summary_data);
gtk_box_pack_start(GTK_BOX(data_vb), hex_data_rb, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(data_vb), hex_data_rb, TRUE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, hex_data_rb, ("Search for string in the packet data"), NULL); gtk_tooltips_set_tip (tooltips, hex_data_rb, ("Search for string in the packet data"), NULL);
gtk_widget_show(hex_data_rb); gtk_widget_show(hex_data_rb);
/* string options frame */ /* string options frame */
string_opt_frame = gtk_frame_new("String Options"); string_opt_frame = gtk_frame_new("String Options");
gtk_box_pack_start(GTK_BOX(main_options_hb), string_opt_frame, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(main_options_hb), string_opt_frame, TRUE, TRUE, 0);
@ -280,7 +279,7 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
case_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC( case_cb = CHECK_BUTTON_NEW_WITH_MNEMONIC(
"Case sensitive", accel_group); "Case sensitive", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(case_cb), !case_type); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(case_cb), !case_type);
gtk_container_add(GTK_CONTAINER(string_opt_vb), case_cb); gtk_container_add(GTK_CONTAINER(string_opt_vb), case_cb);
gtk_tooltips_set_tip (tooltips, case_cb, ("Search by mixed upper/lower case?"), NULL); gtk_tooltips_set_tip (tooltips, case_cb, ("Search by mixed upper/lower case?"), NULL);
gtk_widget_show(case_cb); gtk_widget_show(case_cb);
@ -318,12 +317,12 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
gtk_widget_show(direction_vb); gtk_widget_show(direction_vb);
up_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL, "_Up", accel_group); up_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(NULL, "_Up", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(up_rb), cfile.sbackward); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(up_rb), cfile.sbackward);
gtk_box_pack_start(GTK_BOX(direction_vb), up_rb, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(direction_vb), up_rb, FALSE, FALSE, 0);
gtk_widget_show(up_rb); gtk_widget_show(up_rb);
down_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(up_rb, "_Down", accel_group); down_rb = RADIO_BUTTON_NEW_WITH_MNEMONIC(up_rb, "_Down", accel_group);
gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(down_rb), !cfile.sbackward); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(down_rb), !cfile.sbackward);
gtk_box_pack_start(GTK_BOX(direction_vb), down_rb, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(direction_vb), down_rb, FALSE, FALSE, 0);
gtk_widget_show(down_rb); gtk_widget_show(down_rb);
@ -345,7 +344,7 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
OBJECT_SET_DATA(find_frame_w, E_FIND_BACKWARD_KEY, up_rb); OBJECT_SET_DATA(find_frame_w, E_FIND_BACKWARD_KEY, up_rb);
OBJECT_SET_DATA(find_frame_w, E_FIND_FILTERDATA_KEY, filter_rb); OBJECT_SET_DATA(find_frame_w, E_FIND_FILTERDATA_KEY, filter_rb);
OBJECT_SET_DATA(find_frame_w, E_FIND_HEXDATA_KEY, hex_rb); OBJECT_SET_DATA(find_frame_w, E_FIND_HEXDATA_KEY, hex_rb);
OBJECT_SET_DATA(find_frame_w, E_FIND_ASCIIDATA_KEY, ascii_rb); OBJECT_SET_DATA(find_frame_w, E_FIND_STRINGDATA_KEY, string_rb);
OBJECT_SET_DATA(find_frame_w, E_FIND_STRINGTYPE_LABEL_KEY, combo_lb); OBJECT_SET_DATA(find_frame_w, E_FIND_STRINGTYPE_LABEL_KEY, combo_lb);
OBJECT_SET_DATA(find_frame_w, E_FIND_STRINGTYPE_KEY, combo_cb); OBJECT_SET_DATA(find_frame_w, E_FIND_STRINGTYPE_KEY, combo_cb);
OBJECT_SET_DATA(find_frame_w, E_CASE_SEARCH_KEY, case_cb); OBJECT_SET_DATA(find_frame_w, E_CASE_SEARCH_KEY, case_cb);
@ -361,10 +360,10 @@ find_frame_cb(GtkWidget *w _U_, gpointer d _U_)
* handlers expect the pointers to be attached, and won't be happy. * handlers expect the pointers to be attached, and won't be happy.
*/ */
SIGNAL_CONNECT(hex_rb, "clicked", hex_selected_cb, find_frame_w); SIGNAL_CONNECT(hex_rb, "clicked", hex_selected_cb, find_frame_w);
SIGNAL_CONNECT(ascii_rb, "clicked", ascii_selected_cb, find_frame_w); SIGNAL_CONNECT(string_rb, "clicked", string_selected_cb, find_frame_w);
SIGNAL_CONNECT(filter_rb, "clicked", filter_selected_cb, find_frame_w); SIGNAL_CONNECT(filter_rb, "clicked", filter_selected_cb, find_frame_w);
ascii_selected_cb(NULL, find_frame_w); string_selected_cb(NULL, find_frame_w);
filter_selected_cb(NULL, find_frame_w); filter_selected_cb(NULL, find_frame_w);
/* Catch the "activate" signal on the filter text entry, so that /* Catch the "activate" signal on the filter text entry, so that
if the user types Return there, we act as if the "OK" button if the user types Return there, we act as if the "OK" button
@ -398,12 +397,12 @@ static void
find_filter_te_syntax_check_cb(GtkWidget *w, gpointer parent_w) find_filter_te_syntax_check_cb(GtkWidget *w, gpointer parent_w)
{ {
const gchar *strval; const gchar *strval;
GtkWidget *hex_rb, *ascii_rb; GtkWidget *hex_rb, *string_rb;
guint8 *bytes = NULL; guint8 *bytes = NULL;
size_t nbytes; size_t nbytes;
hex_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_HEXDATA_KEY); hex_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_HEXDATA_KEY);
ascii_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_ASCIIDATA_KEY); string_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_STRINGDATA_KEY);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (hex_rb))) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (hex_rb))) {
/* /*
@ -422,7 +421,7 @@ find_filter_te_syntax_check_cb(GtkWidget *w, gpointer parent_w)
colorize_filter_te_as_valid(w); colorize_filter_te_as_valid(w);
} }
} }
} else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (ascii_rb))) { } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (string_rb))) {
/* /*
* String search. Make sure the string isn't empty. * String search. Make sure the string isn't empty.
*/ */
@ -450,18 +449,9 @@ find_filter_te_syntax_check_cb(GtkWidget *w, gpointer parent_w)
static void static void
hex_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w) hex_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w)
{ {
GtkWidget *hex_rb, *filter_text_box; GtkWidget *filter_text_box;
GtkWidget *hex_data_rb, *decode_data_rb, *summary_data_rb;
filter_text_box = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_FILT_TE_PTR_KEY); filter_text_box = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_FILT_TE_PTR_KEY);
hex_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_HEXDATA_KEY);
hex_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_HEX_KEY);
decode_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_DECODE_KEY);
summary_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_SUMMARY_KEY);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(hex_rb))) {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hex_data_rb), TRUE);
}
/* Re-check the display filter. */ /* Re-check the display filter. */
find_filter_te_syntax_check_cb(filter_text_box, parent_w); find_filter_te_syntax_check_cb(filter_text_box, parent_w);
@ -473,12 +463,12 @@ hex_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w)
* the string search is selected. * the string search is selected.
*/ */
static void static void
ascii_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w) string_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w)
{ {
GtkWidget *ascii_rb, *hex_data_rb, *decode_data_rb, *summary_data_rb, GtkWidget *string_rb, *hex_data_rb, *decode_data_rb, *summary_data_rb,
*data_combo_lb, *data_combo_cb, *data_case_cb, *filter_text_box; *data_combo_lb, *data_combo_cb, *data_case_cb, *filter_text_box;
ascii_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_ASCIIDATA_KEY); string_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_STRINGDATA_KEY);
hex_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_HEX_KEY); hex_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_HEX_KEY);
decode_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_DECODE_KEY); decode_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_DECODE_KEY);
summary_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_SUMMARY_KEY); summary_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_SUMMARY_KEY);
@ -488,14 +478,13 @@ ascii_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w)
data_case_cb = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_CASE_SEARCH_KEY); data_case_cb = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_CASE_SEARCH_KEY);
filter_text_box = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_FILT_TE_PTR_KEY); filter_text_box = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_FILT_TE_PTR_KEY);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ascii_rb))) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(string_rb))) {
gtk_widget_set_sensitive(GTK_WIDGET(hex_data_rb), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(hex_data_rb), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(decode_data_rb), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(decode_data_rb), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(summary_data_rb), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(summary_data_rb), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(data_combo_lb), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(data_combo_lb), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(data_combo_cb), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(data_combo_cb), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(data_case_cb), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(data_case_cb), TRUE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(hex_data_rb), TRUE);
} else { } else {
gtk_widget_set_sensitive(GTK_WIDGET(hex_data_rb), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(hex_data_rb), FALSE);
gtk_widget_set_sensitive(GTK_WIDGET(decode_data_rb), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(decode_data_rb), FALSE);
@ -517,18 +506,12 @@ static void
filter_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w) filter_selected_cb(GtkWidget *button_rb _U_, gpointer parent_w)
{ {
GtkWidget *filter_bt, *filter_rb; GtkWidget *filter_bt, *filter_rb;
GtkWidget *hex_data_rb, *decode_data_rb, *summary_data_rb;
filter_bt = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FILT_TE_BUTTON_KEY); filter_bt = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FILT_TE_BUTTON_KEY);
filter_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_FILTERDATA_KEY); filter_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_FILTERDATA_KEY);
hex_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_HEX_KEY);
decode_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_DECODE_KEY);
summary_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_SUMMARY_KEY);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filter_rb))) if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filter_rb)))
{ {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(decode_data_rb), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(filter_bt), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(filter_bt), TRUE);
} }
else else
@ -645,7 +628,7 @@ convert_string_case(const char *string, gboolean case_insensitive)
static void static void
find_frame_ok_cb(GtkWidget *ok_bt _U_, gpointer parent_w) find_frame_ok_cb(GtkWidget *ok_bt _U_, gpointer parent_w)
{ {
GtkWidget *filter_te, *up_rb, *hex_rb, *ascii_rb, *combo_cb, GtkWidget *filter_te, *up_rb, *hex_rb, *string_rb, *combo_cb,
*case_cb, *decode_data_rb, *summary_data_rb; *case_cb, *decode_data_rb, *summary_data_rb;
const gchar *filter_text, *string_type; const gchar *filter_text, *string_type;
search_charset_t scs_type = SCS_ASCII_AND_UNICODE; search_charset_t scs_type = SCS_ASCII_AND_UNICODE;
@ -658,7 +641,7 @@ find_frame_ok_cb(GtkWidget *ok_bt _U_, gpointer parent_w)
filter_te = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_FILT_KEY); filter_te = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_FILT_KEY);
up_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_BACKWARD_KEY); up_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_BACKWARD_KEY);
hex_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_HEXDATA_KEY); hex_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_HEXDATA_KEY);
ascii_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_ASCIIDATA_KEY); string_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_STRINGDATA_KEY);
combo_cb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_STRINGTYPE_KEY); combo_cb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_FIND_STRINGTYPE_KEY);
case_cb = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_CASE_SEARCH_KEY); case_cb = (GtkWidget *) OBJECT_GET_DATA(parent_w, E_CASE_SEARCH_KEY);
decode_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_DECODE_KEY); decode_data_rb = (GtkWidget *)OBJECT_GET_DATA(parent_w, E_SOURCE_DECODE_KEY);
@ -685,7 +668,7 @@ find_frame_ok_cb(GtkWidget *ok_bt _U_, gpointer parent_w)
"You didn't specify a valid hex string."); "You didn't specify a valid hex string.");
return; return;
} }
} else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (ascii_rb))) { } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (string_rb))) {
/* /*
* String search. * String search.
* Make sure we're searching for something, first. * Make sure we're searching for something, first.
@ -737,7 +720,7 @@ find_frame_ok_cb(GtkWidget *ok_bt _U_, gpointer parent_w)
cfile.sfilter = g_strdup(filter_text); cfile.sfilter = g_strdup(filter_text);
cfile.sbackward = GTK_TOGGLE_BUTTON (up_rb)->active; cfile.sbackward = GTK_TOGGLE_BUTTON (up_rb)->active;
cfile.hex = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (hex_rb)); cfile.hex = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (hex_rb));
cfile.ascii = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (ascii_rb)); cfile.string = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (string_rb));
cfile.scs_type = scs_type; cfile.scs_type = scs_type;
cfile.case_type = case_type; cfile.case_type = case_type;
cfile.decode_data = decode_data; cfile.decode_data = decode_data;
@ -755,7 +738,7 @@ find_frame_ok_cb(GtkWidget *ok_bt _U_, gpointer parent_w)
g_free(bytes); g_free(bytes);
return; return;
} }
} else if (cfile.ascii) { } else if (cfile.string) {
/* OK, what are we searching? */ /* OK, what are we searching? */
if (cfile.decode_data) { if (cfile.decode_data) {
/* The text in the protocol tree */ /* The text in the protocol tree */
@ -845,7 +828,7 @@ find_previous_next(GtkWidget *w, gpointer d, gboolean sens)
} }
find_packet_data(&cfile, bytes, nbytes); find_packet_data(&cfile, bytes, nbytes);
g_free(bytes); g_free(bytes);
} else if (cfile.ascii) { } else if (cfile.string) {
string = convert_string_case(cfile.sfilter, cfile.case_type); string = convert_string_case(cfile.sfilter, cfile.case_type);
/* OK, what are we searching? */ /* OK, what are we searching? */
if (cfile.decode_data) { if (cfile.decode_data) {