]> git.wh0rd.org Git - nano.git/commitdiff
in write_file(), if the original file is unreadable when we try to save
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 7 Apr 2006 03:59:12 +0000 (03:59 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 7 Apr 2006 03:59:12 +0000 (03:59 +0000)
the backup, we can save the original file unless we're prepending, so do
it

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3360 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

src/files.c

index 0d2cec04e178cb78473afbbce80bb40c1b130d41..d42b8ac7aa08ca4952d9ed556f3846af09fdd3b0 100644 (file)
@@ -1336,9 +1336,15 @@ int write_file(const char *name, FILE *f_open, bool tmp, append_type
                statusbar(_("Error reading %s: %s"), realname,
                        strerror(errno));
                beep();
-               /* If we can't open the original file, we won't be able
-                * to save it, so get out. */
-               goto cleanup_and_exit;
+               /* If we can't read from the original file, and we're
+                * prepending, get out, since we won't be able to save
+                * either the backup or the original file.  If we're not
+                * prepending, go on, since only saving the original
+                * file is better than saving nothing. */
+               if (append == PREPEND)
+                   goto cleanup_and_exit;
+               else
+                   goto skip_backup;
            }
        }