Avoiding a possibly erroneous message, because failing to delete

the temporary file does not mean that copying failed.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5353 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
master
Benno Schulenberg 2015-08-11 17:43:08 +00:00
parent c9337dd4ed
commit 07fdf46154
2 changed files with 6 additions and 2 deletions

View File

@ -1,6 +1,8 @@
2015-08-11 Benno Schulenberg <bensberg@justemail.net> 2015-08-11 Benno Schulenberg <bensberg@justemail.net>
* src/files.c (write_file): Avoid calling copy_file() with a null * src/files.c (write_file): Avoid calling copy_file() with a null
pointer. Found with cppcheck. pointer. Found with cppcheck.
* src/files.c (write_file): A failure to delete the temporary file
does not mean that it wasn't copied properly.
2015-08-09 Benno Schulenberg <bensberg@justemail.net> 2015-08-09 Benno Schulenberg <bensberg@justemail.net>
* src/global.c, src/help.c (help_init), src/nano.c (do_toggle, main), * src/global.c, src/help.c (help_init), src/nano.c (do_toggle, main),

View File

@ -1719,7 +1719,7 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type
FILE *f = NULL; FILE *f = NULL;
/* The actual file, realname, we are writing to. */ /* The actual file, realname, we are writing to. */
char *tempname = NULL; char *tempname = NULL;
/* The temp file name we write to on prepend. */ /* The name of the temporary file we write to on prepend. */
assert(name != NULL); assert(name != NULL);
@ -2122,11 +2122,13 @@ bool write_file(const char *name, FILE *f_open, bool tmp, append_type
goto cleanup_and_exit; goto cleanup_and_exit;
} }
if (copy_file(f_source, f) == -1 || unlink(tempname) == -1) { if (copy_file(f_source, f) == -1) {
statusbar(_("Error writing %s: %s"), realname, statusbar(_("Error writing %s: %s"), realname,
strerror(errno)); strerror(errno));
goto cleanup_and_exit; goto cleanup_and_exit;
} }
unlink(tempname);
} else if (fclose(f) != 0) { } else if (fclose(f) != 0) {
statusbar(_("Error writing %s: %s"), realname, statusbar(_("Error writing %s: %s"), realname,
strerror(errno)); strerror(errno));