diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-09-15 20:37:37 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-09-15 20:37:37 +0000 |
commit | 673e47d4a9a1a79170bc93b8df23c6ac328bb531 (patch) | |
tree | d1a536772bd6167431c28ecb60a637804f762b3b | |
parent | 4339a40c036664a30485c50692a9d9dba5419bbe (diff) |
Keep a "display name" as part of a capture_file structure; for live
capture temporary files, it's "<capture", and for saved capture files,
it's the last component of the pathname of the file. Use that in
various places when displaying the file name.
svn path=/trunk/; revision=8474
-rw-r--r-- | cfile.h | 3 | ||||
-rw-r--r-- | file.c | 55 | ||||
-rw-r--r-- | gtk/dcerpc_stat.c | 10 | ||||
-rw-r--r-- | gtk/endpoint_talkers_table.c | 10 | ||||
-rw-r--r-- | gtk/fc_stat.c | 10 | ||||
-rw-r--r-- | gtk/io_stat.c | 10 | ||||
-rw-r--r-- | gtk/mgcp_stat.c | 10 | ||||
-rw-r--r-- | gtk/rpc_stat.c | 10 | ||||
-rw-r--r-- | gtk/smb_stat.c | 10 |
9 files changed, 66 insertions, 62 deletions
@@ -1,7 +1,7 @@ /* cfile.h * capture_file definition & GUI-independent manipulation * - * $Id: cfile.h,v 1.3 2003/08/29 04:03:45 guy Exp $ + * $Id: cfile.h,v 1.4 2003/09/15 20:37:35 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -47,6 +47,7 @@ typedef struct _capture_file { gchar *filename; /* Name of capture file */ gboolean is_tempfile; /* Is capture file a temporary file? */ gboolean user_saved;/* If capture file is temporary, has it been saved by user yet? */ + gchar *displayname; /* Name used when displaying */ long f_len; /* Length of capture file */ guint16 cd_t; /* File type of capture file */ int lnk_t; /* Link-layer type with which to save capture */ @@ -1,7 +1,7 @@ /* file.c * File I/O routines * - * $Id: file.c,v 1.310 2003/09/12 02:48:20 sahlberg Exp $ + * $Id: file.c,v 1.311 2003/09/15 20:37:36 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -151,6 +151,7 @@ open_cap_file(char *fname, gboolean is_tempfile, capture_file *cf) int err; int fd; struct stat cf_stat; + gchar *displayname; wth = wtap_open_offline(fname, &err, TRUE); if (wth == NULL) @@ -189,6 +190,17 @@ open_cap_file(char *fname, gboolean is_tempfile, capture_file *cf) /* If it's a temporary capture buffer file, mark it as not saved. */ cf->user_saved = !is_tempfile; + /* Set the name we use in various displays */ + if (!cf->is_tempfile) { + /* Get the last component of the file name, and use that. */ + displayname = get_basename(cf->filename); + } else { + /* The file we read is a temporary file from a live capture; + we don't mention its name. */ + displayname = "<capture>"; + } + cf->displayname = g_strdup(displayname); + cf->cd_t = wtap_file_type(cf->wth); cf->count = 0; cf->marked_count = 0; @@ -245,6 +257,10 @@ close_cap_file(capture_file *cf) g_free(cf->filename); cf->filename = NULL; } + if (cf->displayname != NULL) { + g_free(cf->displayname); + cf->displayname = NULL; + } /* ...which means we have nothing to save. */ cf->user_saved = FALSE; @@ -292,7 +308,6 @@ close_cap_file(capture_file *cf) static void set_display_filename(capture_file *cf) { - gchar *name_ptr; size_t msg_len; static const gchar done_fmt_nodrops[] = " File: %s"; static const gchar done_fmt_drops[] = " File: %s Drops: %u"; @@ -300,31 +315,21 @@ set_display_filename(capture_file *cf) gchar *win_name_fmt = "%s - Ethereal"; gchar *win_name; - if (!cf->is_tempfile) { - /* Get the last component of the file name, and put that in the - status bar. */ - name_ptr = get_basename(cf->filename); - } else { - /* The file we read is a temporary file from a live capture; - we don't mention its name in the status bar. */ - name_ptr = "<capture>"; - } - if (cf->drops_known) { - msg_len = strlen(name_ptr) + strlen(done_fmt_drops) + 64; + msg_len = strlen(cf->displayname) + strlen(done_fmt_drops) + 64; done_msg = g_malloc(msg_len); - snprintf(done_msg, msg_len, done_fmt_drops, name_ptr, cf->drops); + snprintf(done_msg, msg_len, done_fmt_drops, cf->displayname, cf->drops); } else { - msg_len = strlen(name_ptr) + strlen(done_fmt_nodrops); + msg_len = strlen(cf->displayname) + strlen(done_fmt_nodrops); done_msg = g_malloc(msg_len); - snprintf(done_msg, msg_len, done_fmt_nodrops, name_ptr); + snprintf(done_msg, msg_len, done_fmt_nodrops, cf->displayname); } statusbar_push_file_msg(done_msg); g_free(done_msg); - msg_len = strlen(name_ptr) + strlen(win_name_fmt) + 1; + msg_len = strlen(cf->displayname) + strlen(win_name_fmt) + 1; win_name = g_malloc(msg_len); - snprintf(win_name, msg_len, win_name_fmt, name_ptr); + snprintf(win_name, msg_len, win_name_fmt, cf->displayname); set_main_window_name(win_name); g_free(win_name); } @@ -332,7 +337,7 @@ set_display_filename(capture_file *cf) read_status_t read_cap_file(capture_file *cf, int *err) { - gchar *name_ptr, *load_msg, *load_fmt = "%s"; + gchar *load_msg, *load_fmt = "%s"; size_t msg_len; char *errmsg; char errmsg_errno[1024+1]; @@ -354,11 +359,10 @@ read_cap_file(capture_file *cf, int *err) cul_bytes=0; reset_tap_listeners(); - name_ptr = get_basename(cf->filename); - msg_len = strlen(name_ptr) + strlen(load_fmt) + 2; + msg_len = strlen(cf->displayname) + strlen(load_fmt) + 2; load_msg = g_malloc(msg_len); - snprintf(load_msg, msg_len, load_fmt, name_ptr); + snprintf(load_msg, msg_len, load_fmt, cf->displayname); statusbar_push_file_msg(load_msg); /* Update the progress bar when it gets to this value. */ @@ -2151,7 +2155,7 @@ save_cap_file(char *fname, capture_file *cf, gboolean save_filtered, gboolean save_marked, guint save_format) { gchar *from_filename; - gchar *name_ptr, *save_msg, *save_fmt = " Saving: %s..."; + gchar *save_msg, *save_fmt = " Saving: %s..."; size_t msg_len; int err; gboolean do_copy; @@ -2162,10 +2166,9 @@ save_cap_file(char *fname, capture_file *cf, gboolean save_filtered, guint8 pd[65536]; struct stat infile, outfile; - name_ptr = get_basename(fname); - msg_len = strlen(name_ptr) + strlen(save_fmt) + 2; + msg_len = strlen(cf->displayname) + strlen(save_fmt) + 2; save_msg = g_malloc(msg_len); - snprintf(save_msg, msg_len, save_fmt, name_ptr); + snprintf(save_msg, msg_len, save_fmt, cf->displayname); statusbar_push_file_msg(save_msg); g_free(save_msg); diff --git a/gtk/dcerpc_stat.c b/gtk/dcerpc_stat.c index 4a6737e8a6..60e88d1967 100644 --- a/gtk/dcerpc_stat.c +++ b/gtk/dcerpc_stat.c @@ -1,7 +1,7 @@ /* dcerpc_stat.c * dcerpc_stat 2002 Ronnie Sahlberg * - * $Id: dcerpc_stat.c,v 1.18 2003/09/15 19:05:00 guy Exp $ + * $Id: dcerpc_stat.c,v 1.19 2003/09/15 20:37:36 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -88,8 +88,8 @@ dcerpcstat_reset(rpcstat_t *rs) char title_string[256]; reset_srt_table_data(&rs->srt_table); - if (cfile.filename) - snprintf(title_string, 255, "DCE-RPC Service Response Time statistics for %s version %d.%d : %s", rs->prog, rs->ver&0xff, rs->ver>>8, get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title_string, 255, "DCE-RPC Service Response Time statistics for %s version %d.%d : %s", rs->prog, rs->ver&0xff, rs->ver>>8, cfile.displayname); else snprintf(title_string, 255, "DCE-RPC Service Response Time statistics for %s version %d.%d", rs->prog, rs->ver&0xff, rs->ver>>8); gtk_window_set_title(GTK_WINDOW(rs->win), title_string); @@ -215,8 +215,8 @@ gtk_dcerpcstat_init(char *optarg) rs->win=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(rs->win), 550, 400); - if (cfile.filename) - snprintf(title_string, 255, "DCE-RPC Service Response Time statistics for %s version %d.%d : %s", rs->prog, rs->ver&0xff, rs->ver>>8, get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title_string, 255, "DCE-RPC Service Response Time statistics for %s version %d.%d : %s", rs->prog, rs->ver&0xff, rs->ver>>8, cfile.displayname); else snprintf(title_string, 255, "DCE-RPC Service Response Time statistics for %s version %d.%d", rs->prog, rs->ver&0xff, rs->ver>>8); gtk_window_set_title(GTK_WINDOW(rs->win), title_string); diff --git a/gtk/endpoint_talkers_table.c b/gtk/endpoint_talkers_table.c index d9402df48b..39e3976006 100644 --- a/gtk/endpoint_talkers_table.c +++ b/gtk/endpoint_talkers_table.c @@ -4,7 +4,7 @@ * endpoint_talkers_table 2003 Ronnie Sahlberg * Helper routines common to all endpoint talkers tap. * - * $Id: endpoint_talkers_table.c,v 1.17 2003/09/15 19:05:00 guy Exp $ + * $Id: endpoint_talkers_table.c,v 1.18 2003/09/15 20:37:36 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -206,8 +206,8 @@ reset_ett_table_data(endpoints_table *et) guint32 i; char title[256]; - if (cfile.filename) - snprintf(title, 255, "%s Conversations: %s", et->name, get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "%s Conversations: %s", et->name, cfile.displayname); else snprintf(title, 255, "%s Conversations", et->name); gtk_window_set_title(GTK_WINDOW(et->win), title); @@ -884,8 +884,8 @@ init_ett_table(gboolean hide_ports, char *table_name, char *tap_name, char *filt talkers->name=table_name; talkers->win=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(talkers->win), 750, 400); - if (cfile.filename) - snprintf(title, 255, "%s Conversations: %s", table_name, get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "%s Conversations: %s", table_name, cfile.displayname); else snprintf(title, 255, "%s Conversations", table_name); gtk_window_set_title(GTK_WINDOW(talkers->win), title); diff --git a/gtk/fc_stat.c b/gtk/fc_stat.c index 980a6e830e..b892483a80 100644 --- a/gtk/fc_stat.c +++ b/gtk/fc_stat.c @@ -1,7 +1,7 @@ /* fc_stat.c * fc_stat 2003 Ronnie Sahlberg * - * $Id: fc_stat.c,v 1.6 2003/09/15 19:05:00 guy Exp $ + * $Id: fc_stat.c,v 1.7 2003/09/15 20:37:36 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -65,8 +65,8 @@ fcstat_reset(void *pfc) char title[256]; reset_srt_table_data(&fc->fc_srt_table); - if (cfile.filename) - snprintf(title, 255, "Fibre Channel Service Response Time statistics : %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "Fibre Channel Service Response Time statistics: %s", cfile.displayname); else snprintf(title, 255, "Fibre Channel Service Response Time statistics"); gtk_window_set_title(GTK_WINDOW(fc->win), title); @@ -141,8 +141,8 @@ gtk_fcstat_init(char *optarg) fc->win=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(fc->win), 550, 400); - if (cfile.filename) - snprintf(title, 255, "Fibre Channel Service Response Time statistics : %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "Fibre Channel Service Response Time statistics: %s", cfile.displayname); else snprintf(title, 255, "Fibre Channel Service Response Time statistics"); gtk_window_set_title(GTK_WINDOW(fc->win), title); diff --git a/gtk/io_stat.c b/gtk/io_stat.c index d58ebc50a7..6cf22cc6ad 100644 --- a/gtk/io_stat.c +++ b/gtk/io_stat.c @@ -1,7 +1,7 @@ /* io_stat.c * io_stat 2002 Ronnie Sahlberg * - * $Id: io_stat.c,v 1.24 2003/09/15 19:05:00 guy Exp $ + * $Id: io_stat.c,v 1.25 2003/09/15 20:37:36 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -224,8 +224,8 @@ gtk_iostat_reset(void *g) gio->io->last_interval=0xffffffff; gio->io->max_interval=0; - if (cfile.filename) - snprintf(title, 255, "IO-Stat: %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "IO-Stat: %s", cfile.displayname); else snprintf(title, 255, "IO-Stat"); gtk_window_set_title(GTK_WINDOW(gio->io->window), title); @@ -1646,8 +1646,8 @@ init_io_stat_window(io_stat_t *io) create_ctrl_area(io, hbox); gtk_widget_show(io->window); - if (cfile.filename) - snprintf(title, 255, "IO-Stat: %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "IO-Stat: %s", cfile.displayname); else snprintf(title, 255, "IO-Stat"); gtk_window_set_title(GTK_WINDOW(io->window), title); diff --git a/gtk/mgcp_stat.c b/gtk/mgcp_stat.c index e3833c4749..2ab53f7033 100644 --- a/gtk/mgcp_stat.c +++ b/gtk/mgcp_stat.c @@ -2,7 +2,7 @@ * mgcp-statistics for ethereal * Copyright 2003 Lars Roland * - * $Id: mgcp_stat.c,v 1.10 2003/09/15 19:05:00 guy Exp $ + * $Id: mgcp_stat.c,v 1.11 2003/09/15 20:37:37 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -110,8 +110,8 @@ mgcpstat_reset(void *pms) ms->req_dup_num=0; ms->rsp_dup_num=0; - if (cfile.filename) - snprintf(title, 255, "MGCP SRT Statistics: %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "MGCP SRT Statistics: %s", cfile.displayname); else snprintf(title, 255, "MGCP SRT Statistics"); if (! dlg) @@ -350,8 +350,8 @@ gtk_mgcpstat_cb(GtkWidget *w _U_, gpointer d _U_) } dlg=gtk_window_new(GTK_WINDOW_TOPLEVEL); - if (cfile.filename) - snprintf(title, 255, "MGCP SRT Statistics: %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "MGCP SRT Statistics: %s", cfile.displayname); else snprintf(title, 255, "MGCP SRT Statistics"); gtk_window_set_title(GTK_WINDOW(dlg), title); diff --git a/gtk/rpc_stat.c b/gtk/rpc_stat.c index 3bcdbbcafc..c4ecf36fbf 100644 --- a/gtk/rpc_stat.c +++ b/gtk/rpc_stat.c @@ -1,7 +1,7 @@ /* rpc_stat.c * rpc_stat 2002 Ronnie Sahlberg * - * $Id: rpc_stat.c,v 1.17 2003/09/15 19:05:01 guy Exp $ + * $Id: rpc_stat.c,v 1.18 2003/09/15 20:37:37 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -66,8 +66,8 @@ rpcstat_reset(rpcstat_t *rs) reset_srt_table_data(&rs->srt_table); - if (cfile.filename) - snprintf(title_string, 256, "ONC-RPC Service Response Time statistics for %s version %d : %s", rs->prog, rs->version, get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title_string, 256, "ONC-RPC Service Response Time statistics for %s version %d: %s", rs->prog, rs->version, cfile.displayname); else snprintf(title_string, 256, "ONC-RPC Service Response Time statistics for %s version %d", rs->prog, rs->version); gtk_window_set_title(GTK_WINDOW(rs->win), title_string); @@ -219,8 +219,8 @@ gtk_rpcstat_init(char *optarg) rs->win=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(rs->win), 550, 400); - if (cfile.filename) - snprintf(title_string, 256, "ONC-RPC Service Response Time statistics for %s version %d : %s", rs->prog, rs->version, get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title_string, 256, "ONC-RPC Service Response Time statistics for %s version %d: %s", rs->prog, rs->version, cfile.displayname); else snprintf(title_string, 256, "ONC-RPC Service Response Time statistics for %s version %d", rs->prog, rs->version); gtk_window_set_title(GTK_WINDOW(rs->win), title_string); diff --git a/gtk/smb_stat.c b/gtk/smb_stat.c index 8801f7fd8c..e37ac0d53c 100644 --- a/gtk/smb_stat.c +++ b/gtk/smb_stat.c @@ -1,7 +1,7 @@ /* smb_stat.c * smb_stat 2003 Ronnie Sahlberg * - * $Id: smb_stat.c,v 1.14 2003/09/15 19:05:01 guy Exp $ + * $Id: smb_stat.c,v 1.15 2003/09/15 20:37:37 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -69,8 +69,8 @@ smbstat_reset(void *pss) reset_srt_table_data(&ss->smb_srt_table); reset_srt_table_data(&ss->trans2_srt_table); reset_srt_table_data(&ss->nt_trans_srt_table); - if (cfile.filename) - snprintf(title, 255, "SMB Service Response Time statistics: %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "SMB Service Response Time statistics: %s", cfile.displayname); else snprintf(title, 255, "SMB Service Response Time statistics"); gtk_window_set_title(GTK_WINDOW(ss->win), title); @@ -159,8 +159,8 @@ gtk_smbstat_init(char *optarg) ss->win=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(ss->win), 550, 600); - if (cfile.filename) - snprintf(title, 255, "SMB Service Response Time statistics: %s", get_basename(cfile.filename)); + if (cfile.displayname) + snprintf(title, 255, "SMB Service Response Time statistics: %s", cfile.displayname); else snprintf(title, 255, "SMB Service Response Time statistics"); gtk_window_set_title(GTK_WINDOW(ss->win), title); |