From: David Lawrence Ramsey Date: Fri, 7 Apr 2006 03:59:12 +0000 (+0000) Subject: in write_file(), if the original file is unreadable when we try to save X-Git-Tag: v1.3.12~318 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=242079435575fcdaa110791eac58598144fef9e3;p=nano.git in write_file(), if the original file is unreadable when we try to save 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 --- diff --git a/src/files.c b/src/files.c index 0d2cec04..d42b8ac7 100644 --- a/src/files.c +++ b/src/files.c @@ -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; } }