Squelch more const warnings (and fix some memory leaks that found).
[obnox/wireshark/wip.git] / gtk / h225_ras_srt.c
index 0b1c1b354c45365636ae8899615753a32069ce39..92a6da1c3e51404b4e8cedad363ed55b8c3a1d84 100644 (file)
@@ -2,7 +2,7 @@
  * h225 RAS Service Response Time statistics for ethereal
  * Copyright 2003 Lars Roland
  *
- * $Id: h225_ras_srt.c,v 1.9 2004/02/11 04:17:03 guy Exp $
+ * $Id$
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
 # include "config.h"
 #endif
 
-#include <stdio.h>
-
 #ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
 
-#include <gtk/gtk.h>
 #include <string.h>
-#include "../epan/packet_info.h"
-#include "../epan/epan.h"
+
+#include <gtk/gtk.h>
+
+#include <epan/packet_info.h>
+#include <epan/epan.h>
+#include <epan/value_string.h>
+
 #include "tap_menu.h"
-#include "../tap.h"
-#include "../epan/value_string.h"
+#include <epan/tap.h>
 #include "../register.h"
-#include "../packet-h225.h"
+#include <epan/dissectors/packet-h225.h>
 #include "../timestats.h"
 #include "gtk_stat_util.h"
 #include "compat_macros.h"
 #include "ui_util.h"
 
 
-extern GtkWidget *main_display_filter_widget;
-
-void gtk_h225rassrt_init(char *optarg);
+static void gtk_h225rassrt_init(const char *optarg);
 
-tap_dfilter_dlg h225_rassrt_dlg = {"H.225 RAS Service Response Time", "h225,srt", gtk_h225rassrt_init, -1};
+static tap_dfilter_dlg h225_rassrt_dlg = {
+       "H.225 RAS Service Response Time",
+       "h225,srt",
+       gtk_h225rassrt_init,
+       -1
+};
 
 /* following values represent the size of their valuestring arrays */
 #define NUM_RAS_STATS 7
@@ -138,10 +142,10 @@ h225rassrt_reset(void *phs)
 
 
 static int
-h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, void *phi)
+h225rassrt_packet(void *phs, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *phi)
 {
        h225rassrt_t *hs=(h225rassrt_t *)phs;
-       h225_packet_info *pi=phi;
+       const h225_packet_info *pi=phi;
 
        ras_type rasmsg_type = RAS_OTHER;
        ras_category rascategory = RAS_OTHERS;
@@ -216,17 +220,28 @@ h225rassrt_draw(void *phs)
                        continue;
                }
 
-               sprintf(str[0], "%s", val_to_str(i,ras_message_category,"Other"));
-               sprintf(str[1], "%7d", hs->ras_rtd[i].stats.num);
-               sprintf(str[2], "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.min)));
-               sprintf(str[3], "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.max)));;
-               sprintf(str[4], "%8.2f msec", get_average(&(hs->ras_rtd[i].stats.tot), hs->ras_rtd[i].stats.num));
-               sprintf(str[5], "%6u", hs->ras_rtd[i].stats.min_num);
-               sprintf(str[6], "%6u", hs->ras_rtd[i].stats.max_num);
-               sprintf(str[7], "%4u", hs->ras_rtd[i].open_req_num);
-               sprintf(str[8], "%4u", hs->ras_rtd[i].disc_rsp_num);
-               sprintf(str[9], "%4u", hs->ras_rtd[i].req_dup_num);
-               sprintf(str[10], "%4u", hs->ras_rtd[i].rsp_dup_num);
+               g_snprintf(str[0], sizeof(char[256]), 
+            "%s", val_to_str(i,ras_message_category,"Other"));
+               g_snprintf(str[1], sizeof(char[256]), 
+            "%7d", hs->ras_rtd[i].stats.num);
+               g_snprintf(str[2], sizeof(char[256]), 
+            "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.min)));
+               g_snprintf(str[3], sizeof(char[256]), 
+            "%8.2f msec", nstime_to_msec(&(hs->ras_rtd[i].stats.max)));;
+               g_snprintf(str[4], sizeof(char[256]), 
+            "%8.2f msec", get_average(&(hs->ras_rtd[i].stats.tot), hs->ras_rtd[i].stats.num));
+               g_snprintf(str[5], sizeof(char[256]), 
+            "%6u", hs->ras_rtd[i].stats.min_num);
+               g_snprintf(str[6], sizeof(char[256]), 
+            "%6u", hs->ras_rtd[i].stats.max_num);
+               g_snprintf(str[7], sizeof(char[256]), 
+            "%4u", hs->ras_rtd[i].open_req_num);
+               g_snprintf(str[8], sizeof(char[256]), 
+            "%4u", hs->ras_rtd[i].disc_rsp_num);
+               g_snprintf(str[9], sizeof(char[256]), 
+            "%4u", hs->ras_rtd[i].req_dup_num);
+               g_snprintf(str[10], sizeof(char[256]), 
+            "%4u", hs->ras_rtd[i].rsp_dup_num);
                gtk_clist_append(GTK_CLIST(hs->table), str);
        }
 
@@ -253,7 +268,8 @@ win_destroy_cb(GtkWindow *win _U_, gpointer data)
 }
 
 
-static gchar *titles[]={"RAS-Type",
+static const gchar *titles[]={
+                       "RAS-Type",
                        "Measurements",
                        "Min RTT",
                        "Max RTT",
@@ -265,36 +281,36 @@ static gchar *titles[]={"RAS-Type",
                        "Repeated Requests",
                        "Repeated Responses" };
 
-void
-gtk_h225rassrt_init(char *optarg)
+static void
+gtk_h225rassrt_init(const char *optarg)
 {
        h225rassrt_t *hs;
-       char *filter=NULL;
+       const char *filter=NULL;
        GString *error_string;
+       GtkWidget *bbox;
+       GtkWidget *close_bt;
 
        if(strncmp(optarg,"h225,srt,",9) == 0){
                filter=optarg+9;
        } else {
-               filter=g_malloc(1);
-               *filter='\0';
+               filter="";
        }
 
        hs=g_malloc(sizeof(h225rassrt_t));
-       hs->filter=g_malloc(strlen(filter)+1);
-       strcpy(hs->filter, filter);
+       hs->filter=g_strdup(filter);
 
        h225rassrt_reset(hs);
 
-       hs->win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
-       SIGNAL_CONNECT(hs->win, "destroy", win_destroy_cb, hs);
+       hs->win=window_new(GTK_WINDOW_TOPLEVEL, "h225-ras-srt");
+       gtk_window_set_default_size(GTK_WINDOW(hs->win), 600, 300);
 
-       hs->vbox=gtk_vbox_new(FALSE, 0);
+       hs->vbox=gtk_vbox_new(FALSE, 3);
+       gtk_container_set_border_width(GTK_CONTAINER(hs->vbox), 12);
 
-       init_main_stat_window(hs->win, hs->vbox, "ITU-T H.225 RAS Service Response Time", filter);
+       init_main_stat_window(hs->win, hs->vbox, "H.225 RAS Service Response Time", filter);
 
         /* init a scrolled window*/
        hs->scrolled_window = scrolled_window_new(NULL, NULL);
-       WIDGET_SET_SIZE(hs->scrolled_window, 600, 160);
 
        hs->table = create_stat_table(hs->scrolled_window, hs->vbox, 11, titles);
 
@@ -307,19 +323,27 @@ gtk_h225rassrt_init(char *optarg)
                return;
        }
 
+       /* Button row. */
+       bbox = dlg_button_row_new(GTK_STOCK_CLOSE, NULL);
+       gtk_box_pack_end(GTK_BOX(hs->vbox), bbox, FALSE, FALSE, 0);
+
+       close_bt = OBJECT_GET_DATA(bbox, GTK_STOCK_CLOSE);
+       window_set_cancel_button(hs->win, close_bt, window_cancel_button_cb);
+
+       SIGNAL_CONNECT(hs->win, "delete_event", window_delete_event_cb, NULL);
+       SIGNAL_CONNECT(hs->win, "destroy", win_destroy_cb, hs);
+
        gtk_widget_show_all(hs->win);
-       redissect_packets(&cfile);
+       window_present(hs->win);
+
+       cf_retap_packets(&cfile);
 }
 
 void
 register_tap_listener_gtk_h225rassrt(void)
 {
-       register_ethereal_tap("h225,srt", gtk_h225rassrt_init);
-}
+       register_tap_listener_cmd_arg("h225,srt", gtk_h225rassrt_init);
 
-void
-register_tap_menu_gtk_h225rassrt(void)
-{
-       register_tap_menu_item("_Statistics/Service Response Time/ITU-T H.225 RAS ...",
+       register_tap_menu_item("H.225 RAS...", REGISTER_TAP_GROUP_RESPONSE_TIME,
            gtk_tap_dfilter_dlg_cb, NULL, NULL, &(h225_rassrt_dlg));
 }