If the rename in a safe "Save As" fails, the current file's name has
authorGuy Harris <guy@alum.mit.edu>
Sat, 2 Jun 2012 16:59:47 +0000 (16:59 -0000)
committerGuy Harris <guy@alum.mit.edu>
Sat, 2 Jun 2012 16:59:47 +0000 (16:59 -0000)
*not* changed; what we need to, on Windows, reopen is the *old* file
name, not the name we're saving as.

svn path=/trunk/; revision=43003

file.c

diff --git a/file.c b/file.c
index 5248ba3fda2ad16cb3b83442a2d5ba353a9c15f1..2088d3319572621e5f3d4e4cac07a088288618e1 100644 (file)
--- a/file.c
+++ b/file.c
@@ -3983,12 +3983,13 @@ cf_save_packets(capture_file *cf, const char *fname, guint save_format,
       simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
                     file_rename_error_message(errno), fname);
 #ifdef _WIN32
-      /* Attempt to reopen the random file descriptor using fname.
-         (At this point, the sequential file descriptor is closed.) */
-      if (!wtap_fdreopen(cf->wth, fname, &err)) {
+      /* Attempt to reopen the random file descriptor using the
+         current file's filename.  (At this point, the sequential
+         file descriptor is closed.) */
+      if (!wtap_fdreopen(cf->wth, cf->filename, &err)) {
         /* Oh, well, we're screwed. */
         simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
-                      file_open_error_message(err, FALSE), fname);
+                      file_open_error_message(err, FALSE), cf->filename);
       }
 #endif
       goto fail;