aboutsummaryrefslogtreecommitdiffstats
path: root/proto_hier_stats.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2010-08-13 07:39:46 +0000
committerGuy Harris <guy@alum.mit.edu>2010-08-13 07:39:46 +0000
commit2a328da4ef66f37388b841803b2df149b4f68840 (patch)
tree7e0a10dd76d94da164a22f52bcec418f4cd13667 /proto_hier_stats.c
parent432cfde19c7e1b93ccd4457eb27a501e55525b2b (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 'proto_hier_stats.c')
-rw-r--r--proto_hier_stats.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/proto_hier_stats.c b/proto_hier_stats.c
index e03cf8cdf1..1b7f42d371 100644
--- a/proto_hier_stats.c
+++ b/proto_hier_stats.c
@@ -144,16 +144,11 @@ process_frame(frame_data *frame, column_info *cinfo, ph_stats_t* ps)
epan_dissect_t edt;
union wtap_pseudo_header phdr;
guint8 pd[WTAP_MAX_PACKET_SIZE];
- int err;
- gchar *err_info;
double cur_time;
/* Load the frame from the capture file */
- if (!cf_read_frame_r(&cfile, frame, &phdr, pd, &err, &err_info)) {
- simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- cf_read_error_message(err, err_info), cfile.filename);
+ if (!cf_read_frame_r(&cfile, frame, &phdr, pd))
return FALSE; /* failure */
- }
/* Dissect the frame tree not visible */
epan_dissect_init(&edt, TRUE, FALSE);