diff options
author | Guy Harris <guy@alum.mit.edu> | 2010-08-13 07:39:46 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2010-08-13 07:39:46 +0000 |
commit | 2a328da4ef66f37388b841803b2df149b4f68840 (patch) | |
tree | 7e0a10dd76d94da164a22f52bcec418f4cd13667 /gtk/rtp_analysis.c | |
parent | 432cfde19c7e1b93ccd4457eb27a501e55525b2b (diff) |
Instead of using a Boolean for the search direction, use an enum, so
that you can tell from examination whether the search is forward or
backward.
Make the cf_find_packet routines take the direction as an explicit
argument, rather than, in the cases where you don't want to permanently
set the direction, saving the direction in the capture_file structure,
changing it, doing the search, and restoring the saved direction. Give
more information in the Doxygen comments for those routines.
Add a cf_find_packet_dfilter_string() routine, which takes a filter
string rather than a compiled filter as an argument. Replace
find_previous_next_frame_with_filter() with it.
Have cf_read_frame_r() and cf_read_frame() pop up the error dialog if
the read fails, rather than leaving that up to its caller. That lets us
eliminate cf_read_error_message(), by swallowing its code into
cf_read_frame_r(). Add Doxygen comments for cf_read_frame_r() and
cf_read_frame().
Don't have find_packet() read the packet before calling the callback
routine; leave that up to the callback routine.
Add cf_find_packet_marked(), to find the next or previous marked packet,
and cf_find_packet_time_reference(), to find the next or previous time
reference packet. Those routines do *not* need to read the packet data
to see if it matches; that lets them run much faster.
Clean up indentation.
svn path=/trunk/; revision=33791
Diffstat (limited to 'gtk/rtp_analysis.c')
-rw-r--r-- | gtk/rtp_analysis.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/gtk/rtp_analysis.c b/gtk/rtp_analysis.c index c434df7a26..e5219fde61 100644 --- a/gtk/rtp_analysis.c +++ b/gtk/rtp_analysis.c @@ -3613,8 +3613,6 @@ static void rtp_analysis_cb(GtkWidget *w _U_, gpointer data _U_) dfilter_t *sfcode; capture_file *cf; epan_dissect_t edt; - gint err; - gchar *err_info; gboolean frame_matched; frame_data *fdata; GList *strinfo_list; @@ -3637,11 +3635,8 @@ static void rtp_analysis_cb(GtkWidget *w _U_, gpointer data _U_) return; /* if we exit here it's an error */ /* dissect the current frame */ - if (!cf_read_frame(cf, fdata, &err, &err_info)) { - simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, - cf_read_error_message(err, err_info), cf->filename); - return; - } + if (!cf_read_frame(cf, fdata)) + return; /* error reading the frame */ epan_dissect_init(&edt, TRUE, FALSE); epan_dissect_prime_dfilter(&edt, sfcode); epan_dissect_run(&edt, &cf->pseudo_header, cf->pd, fdata, NULL); |