Fixed match_selected to work with new display filter code. It uses
authorgram <gram@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 4 Aug 1999 03:37:45 +0000 (03:37 +0000)
committergram <gram@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 4 Aug 1999 03:37:45 +0000 (03:37 +0000)
"frame[x:y]" in the display filte that it creates so that it works with
any datalink type.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@431 f5534014-38df-0310-8fa8-9805f1628bb7

README
ethereal.c
menu.c

diff --git a/README b/README
index 3f3aa5b222ce0a3cd8e77f597976e1597c3cd5f8..6d8a09d196926d97bad558db4b7c8a2459bfad92 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ General Information
 ------- -----------
 
 Ethereal is a network traffic analyzer for Unix and Unix-like operating
-systems.  It is based on GTK+, a graphical user interface library,
+systems.  It is uses GTK+, a graphical user interface library,
 and libpcap, a packet capture and filtering library.
 
 The official home of Ethereal is
@@ -71,7 +71,8 @@ to read multiple file types. You can read the following file
 formats, and create display filters for them as well:
 
 libpcap, Sniffer (uncompresed), NetXray, Sniffer Pro, snoop,
-Shomiti, LANalyzer, Network Monitor, and iptrace 2.0 (AIX)
+Shomiti, LANalyzer, Network Monitor, iptrace 2.0 (AIX), and
+RADCOM's WAN/LAN Analyzer
 
 
 IPv6
index d727e432ecc909eef0428e4ebff227b1558203c6..038a0651bf9fd23f8c374fa6979bea84d8c4eac3 100644 (file)
@@ -1,6 +1,6 @@
 /* ethereal.c
  *
- * $Id: ethereal.c,v 1.72 1999/08/02 05:52:45 guy Exp $
+ * $Id: ethereal.c,v 1.73 1999/08/04 03:37:44 gram Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -310,13 +310,14 @@ follow_stream_cb( GtkWidget *w, gpointer data ) {
 void
 match_selected_cb(GtkWidget *w, gpointer data)
 {
-#if 0
-    char *buf = malloc(1024);
-#endif
+    char *buf = g_malloc(1024);
     GtkWidget *filter_te = NULL;
+    char *ptr;
+    int i;
+    guint8 *c;
 
     if (w)
-       filter_te = gtk_object_get_data(GTK_OBJECT(w), E_DFILTER_TE_KEY);
+    filter_te = gtk_object_get_data(GTK_OBJECT(w), E_DFILTER_TE_KEY);
 
     if (tree_selected_start<0) {
        simple_dialog(ESD_TYPE_WARN, NULL,
@@ -325,45 +326,43 @@ match_selected_cb(GtkWidget *w, gpointer data)
                      "view to be matched.");
        return;
     }
-#if 0
-    switch (cf.lnk_t) {
-    case DLT_EN10MB :
-       c="ether";
-       break;
-    case DLT_FDDI :
-       c="fddi";
-       break;
-    default :
-#endif
-       simple_dialog(ESD_TYPE_WARN, NULL,
-                     "Unsupported frame type format. Only Ethernet and FDDI\n"
-                     "frame formats are supported.");
-       return;
-#if 0
-    }
 
-    sprintf(buf, "("); ptr = buf+strlen(buf);
+/*    sprintf(buf, "("); ptr = buf+strlen(buf);
     for (i=0, c=cf.pd+tree_selected_start; i+4<tree_selected_len; i+=4, c+=4) {
-       sprintf(ptr, "(ether[%d : 4]=0x%02X%02X%02X%02X) and ", 
+       sprintf(ptr, "(frame[%d : 4]=0x%02X%02X%02X%02X) and ", 
               tree_selected_start+i, 
               *c,
               *(c+1),
               *(c+2),
               *(c+3));
        ptr = buf+strlen(buf);
-    }
+    }*/
+
+    i = 0;
+    c = cf.pd + tree_selected_start;
+    ptr = buf;
 
-    sprintf(ptr, "(ether[%d : %d]=0x", 
+    sprintf(ptr, "frame[%d : %d] == ", 
           tree_selected_start+i, 
           tree_selected_len - i);
     ptr = buf+strlen(buf);
-    for (;i<tree_selected_len; i++) {
-       sprintf(ptr, "%02X", *c++);
-       ptr = buf+strlen(buf);
+    /*for (;i<tree_selected_len; i++) {*/
+    if (tree_selected_len == 1) {
+        sprintf(ptr, "0x%02x", *c++);
+    }
+    else {
+           for (i=0;i<tree_selected_len; i++) {
+               if (i == 0 ) {
+                       sprintf(ptr, "%02x", *c++);
+               }
+               else {
+                       sprintf(ptr, ":%02x", *c++);
+               }
+               ptr = buf+strlen(buf);
+           }
     }
 
-    sprintf(ptr, "))");
-
+    /*sprintf(ptr, "))");*/
     if( cf.dfilter != NULL ) {
       /* get rid of this one */
       g_free( cf.dfilter );
@@ -379,7 +378,6 @@ match_selected_cb(GtkWidget *w, gpointer data)
       g_free( cf.dfilter );
       cf.dfilter = NULL;
     }
-#endif
 }
 
 /* Open a file */
diff --git a/menu.c b/menu.c
index 128525cf15ace3968b36ee2a54548d47604b9baa..e72f4096ff48f6087c9b602517e013c099672cb6 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -1,7 +1,7 @@
 /* menu.c
  * Menu routines
  *
- * $Id: menu.c,v 1.32 1999/08/02 02:04:26 guy Exp $
+ * $Id: menu.c,v 1.33 1999/08/04 03:37:45 gram Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -148,9 +148,6 @@ menus_init(void) {
     set_menu_sensitivity("/Edit/Find", FALSE);
     set_menu_sensitivity("/Tools/Graph", FALSE);
     set_menu_sensitivity("/Tools/Summary", FALSE);
-
-    /*set_menu_sensitivity("/Tools/Follow TCP Stream", FALSE);*/
-    set_menu_sensitivity("/Display/Match Selected", FALSE);
   }
 }