diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-08-29 04:03:46 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-08-29 04:03:46 +0000 |
commit | 1cf6565adc2cc5eb7d51bb4ed9d44d0944d2361d (patch) | |
tree | 3b1ce973a5f1d1270672807ce6c88cbcdef63dce /file.h | |
parent | 6fc18311a67219ed55c788a829b85e0a0bcb79a0 (diff) |
Get rid of the EBCDIC stuff in the find dialog - it's not supported yet,
so we shouldn't torment the users by offering it.
Check the string type and convert it to an internal representation in
the GUI code; have the search code deal only with the internal
representation.
Save the case-sensitivity flag, and the indication of where string
searches look, along with other search parameters.
Upper-casify the string, for case-insensitive searches, in the GUI code;
don't save the upper-casified string, so it doesn't SHOUT at you when
you next pop up a "find" dialog.
Convert the hex value string to raw binary data in the GUI code, rather
than doing so in the search code. Check that it's a valid string.
Connect the signals to the radio buttons after the pointers have been
attached to various GUI items - the signal handlers expect some of those
pointers to be attached, and aren't happy if they're not.
Have "find_packet()" contain a framework for searching, but not contain
the matching code; instead, pass it a pointer to a matching routine and
an opaque pointer to be passed to the matching routine. Have all the
routines that do different types of searching have their own matching
routines, and use the common "find_packet()" code, rather than
duplicating that code.
Search for the Info column by column type, not by name (the user can
change the name).
When matching on the protocol tree, don't format the entire protocol
tree into a big buffer - just have a routine that matches the text
representation of a protocol tree item against a string, and, if it
finds a match, sets a "we found a match flag" and returns; have that
routine not bother doing any more work if that flag is set.
(Unfortunately, you can't abort "g_node_children_foreach()" in the
middle of a traversal.)
Free the generated display filter code after a find-by-display-filter
finishes.
svn path=/trunk/; revision=8306
Diffstat (limited to 'file.h')
-rw-r--r-- | file.h | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -1,7 +1,7 @@ /* file.h * Definitions for file structures and routines * - * $Id: file.h,v 1.103 2003/08/11 22:41:09 sharpe Exp $ + * $Id: file.h,v 1.104 2003/08/29 04:03:45 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -55,7 +55,13 @@ void colorize_packets(capture_file *); void redissect_packets(capture_file *cf); int print_packets(capture_file *cf, print_args_t *print_args); void change_time_formats(capture_file *); -gboolean find_packet(capture_file *cf, dfilter_t *sfcode); + +gboolean find_packet_protocol_tree(capture_file *cf, const char *string); +gboolean find_packet_summary_line(capture_file *cf, const char *string); +gboolean find_packet_data(capture_file *cf, const guint8 *string, + size_t string_size); +gboolean find_packet_dfilter(capture_file *cf, dfilter_t *sfcode); + guint8 get_int_value(char char_val); gboolean find_ascii(capture_file *cf, char *ascii_text, gboolean ascii_search, char *ftype, gboolean case_type); gboolean find_in_gtk_data(capture_file *cf, gpointer *data, char *ascii_text, gboolean case_type, gboolean search_type); |