Pop up a message box if a search for a frame fails.
authorGuy Harris <guy@alum.mit.edu>
Sat, 6 Nov 1999 06:54:24 +0000 (06:54 -0000)
committerGuy Harris <guy@alum.mit.edu>
Sat, 6 Nov 1999 06:54:24 +0000 (06:54 -0000)
svn path=/trunk/; revision=985

file.c
file.h
gtk/find_dlg.c

diff --git a/file.c b/file.c
index a98afa79b889d1d8abd040c603f641407e5a68b5..c1412e2131089ff512d249e5bda42cf054242cc3 100644 (file)
--- a/file.c
+++ b/file.c
@@ -1,7 +1,7 @@
 /* file.c
  * File I/O routines
  *
- * $Id: file.c,v 1.117 1999/11/06 06:26:55 guy Exp $
+ * $Id: file.c,v 1.118 1999/11/06 06:54:21 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -1388,7 +1388,7 @@ clear_tree_and_hex_views(void)
   gtk_tree_clear_items(GTK_TREE(tree_view), 0, -1);
 }
 
-void
+gboolean
 find_packet(capture_file *cf, dfilter *sfcode)
 {
   frame_data *start_fd;
@@ -1485,7 +1485,9 @@ find_packet(capture_file *cf, dfilter *sfcode)
     if (!gtk_clist_row_is_visible(GTK_CLIST(packet_list), new_fd->row))
       gtk_clist_moveto(GTK_CLIST(packet_list), new_fd->row, -1, 0.0, 0.0);
     gtk_clist_select_row(GTK_CLIST(packet_list), new_fd->row, -1);
-  }
+    return TRUE;       /* success */
+  } else
+    return FALSE;      /* failure */
 }
 
 /* Select the packet on a given row. */
diff --git a/file.h b/file.h
index 16be30199f06b24fdeb9c92abd4a23a472d89031..525f518faaf4deac6145c146eac343abbd3a3020 100644 (file)
--- a/file.h
+++ b/file.h
@@ -1,7 +1,7 @@
 /* file.h
  * Definitions for file structures and routines
  *
- * $Id: file.h,v 1.50 1999/11/06 06:26:57 guy Exp $
+ * $Id: file.h,v 1.51 1999/11/06 06:54:24 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -135,7 +135,7 @@ void filter_packets(capture_file *cf, gchar *dfilter);
 void colorize_packets(capture_file *);
 int print_packets(capture_file *cf, print_args_t *print_args);
 void change_time_formats(capture_file *);
-void find_packet(capture_file *cf, dfilter *sfcode);
+gboolean find_packet(capture_file *cf, dfilter *sfcode);
 void select_packet(capture_file *, int);
 void unselect_packet(capture_file *);
 
index 983402050781ae035ad40b1fb4ee1002b46f096c..f9d5b1e2de6a8bd597f175e61f8730fb2f0006eb 100644 (file)
@@ -1,7 +1,7 @@
 /* find_dlg.c
  * Routines for "find frame" window
  *
- * $Id: find_dlg.c,v 1.2 1999/11/06 06:42:41 guy Exp $
+ * $Id: find_dlg.c,v 1.3 1999/11/06 06:54:02 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -173,9 +173,13 @@ find_frame_ok_cb(GtkWidget *ok_bt, gpointer parent_w)
 
   cf.sbackward = GTK_TOGGLE_BUTTON (backward_rb)->active;
 
-  gtk_widget_destroy(GTK_WIDGET(parent_w));
+  if (!find_packet(&cf, sfcode)) {
+    /* We didn't find the packet. */
+    simple_dialog(ESD_TYPE_WARN, NULL, "No packet matched that filter.");
+    return;
+  }
 
-  find_packet(&cf, sfcode);
+  gtk_widget_destroy(GTK_WIDGET(parent_w));
 }
 
 static void