commit 1b5d9171f214d64ae39039d22b669c2e4569486e
parent 50543300d9ff2db79fea4d4f220daf2f64aec696
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Wed, 14 Jul 2021 10:38:02 +0200
tweaks: try chmodding a dump file only when it was actually written
Diffstat:
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/src/nano.c b/src/nano.c
@@ -327,17 +327,16 @@ void emergency_save(const char *filename)
fprintf(stderr, _("\nToo many .save files\n"));
else if (write_file(targetname, NULL, TRUE, OVERWRITE, FALSE)) {
fprintf(stderr, _("\nBuffer written to %s\n"), targetname);
- }
-
#ifndef NANO_TINY
- /* Try to chmod/chown the saved file to the values of the original file,
- * but ignore any failure as we are in a hurry to get out. */
- if (openfile->statinfo) {
- IGNORE_CALL_RESULT(chmod(targetname, openfile->statinfo->st_mode));
- IGNORE_CALL_RESULT(chown(targetname, openfile->statinfo->st_uid,
- openfile->statinfo->st_gid));
- }
+ /* Try to chmod/chown the saved file to the values of the original file,
+ * but ignore any failure as we are in a hurry to get out. */
+ if (openfile->statinfo) {
+ IGNORE_CALL_RESULT(chmod(targetname, openfile->statinfo->st_mode));
+ IGNORE_CALL_RESULT(chown(targetname, openfile->statinfo->st_uid,
+ openfile->statinfo->st_gid));
+ }
#endif
+ }
free(targetname);
free(plainname);