aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2005-02-15 20:01:24 +0000
committerGuy Harris <guy@alum.mit.edu>2005-02-15 20:01:24 +0000
commitea7ef54b0da23a170ed61de375f281f592d6f551 (patch)
tree9475d6f687f0a379c3fb2b6e178320d7dbc32d80
parent1aa4357464da99ee93588e1145cb549105f6b1a3 (diff)
Have "cf_merge_files()" always close "out_fd" before returning; it does
so if "wtap_dump_fdopen()" succeeds (as a side-effect of calling "wtap_dump_close()"), even if "cf_merge_fails()" after that, so it should do so if it fails. That means we don't need to close it in the callers of "cf_merge_files()". svn path=/trunk/; revision=13407
-rw-r--r--file.c1
-rw-r--r--gtk/drag_and_drop.c14
-rw-r--r--gtk/file_dlg.c1
3 files changed, 8 insertions, 8 deletions
diff --git a/file.c b/file.c
index 01d06f5444..09d074038f 100644
--- a/file.c
+++ b/file.c
@@ -981,6 +981,7 @@ cf_merge_files(const char *out_filename, int out_fd, int in_file_count,
merge_select_frame_type(in_file_count, in_files),
merge_max_snapshot_length(in_file_count, in_files), &open_err);
if (pdh == NULL) {
+ close(out_fd);
merge_close_in_files(in_file_count, in_files);
free(in_files);
cf_open_failure_alert_box(out_filename, open_err, err_info, TRUE,
diff --git a/gtk/drag_and_drop.c b/gtk/drag_and_drop.c
index 401f5803b7..fbdbafb897 100644
--- a/gtk/drag_and_drop.c
+++ b/gtk/drag_and_drop.c
@@ -148,7 +148,6 @@ dnd_merge_files(int in_file_count, char **in_filenames)
if (!merge_ok) {
/* merge failed */
- close(out_fd); /* XXX - isn't it already closed? */
return;
}
@@ -240,12 +239,13 @@ dnd_open_file_cmd(GtkSelectionData *selection_data)
break;
case(1):
/* open and read the capture file (this will close an existing file) */
- if (cf_open(&cfile, in_filenames[0], FALSE, &err) == CF_OK) {
- cf_read(&cfile);
- add_menu_recent_capture_file(in_filenames[0]);
- } else {
- /* the capture file couldn't be read (doesn't exist, file format unknown, ...) */
- }
+ if (cf_open(&cfile, in_filenames[0], FALSE, &err) == CF_OK) {
+ /* XXX - add this to the menu if the read fails? */
+ cf_read(&cfile);
+ add_menu_recent_capture_file(in_filenames[0]);
+ } else {
+ /* the capture file couldn't be read (doesn't exist, file format unknown, ...) */
+ }
break;
default:
/* build and show the info dialog */
diff --git a/gtk/file_dlg.c b/gtk/file_dlg.c
index 54864ec366..92d16ed651 100644
--- a/gtk/file_dlg.c
+++ b/gtk/file_dlg.c
@@ -1057,7 +1057,6 @@ file_merge_ok_cb(GtkWidget *w, gpointer fs) {
g_free(cf_name);
if (merge_status != CF_OK) {
- close(out_fd); /* XXX - it's already closed, right? */
if (rfcode != NULL)
dfilter_free(rfcode);
return;