commit 32d7d3900da868bdfb75de7bddbc28bf8b58d526
parent b57336ad0011f5faeeaefd3e80b356a158963491
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Sun, 10 Feb 2019 17:04:55 +0100
tweaks: reshuffle a few lines, and condense some comments
Diffstat:
1 file changed, 9 insertions(+), 14 deletions(-)
diff --git a/src/files.c b/src/files.c
@@ -1415,29 +1415,24 @@ char *check_writable_directory(const char *path)
}
/* This function calls mkstemp(($TMPDIR|P_tmpdir|/tmp/)"nano.XXXXXX").
- * On success, it returns the malloc()ed filename and corresponding FILE
- * stream, opened in "r+b" mode. On error, it returns NULL for the
- * filename and leaves the FILE stream unchanged. */
+ * On success, it returns the malloc()ed filename and corresponding
+ * FILE stream, opened in "r+b" mode. On error, it returns NULL for
+ * the filename and leaves the FILE stream unchanged. */
char *safe_tempfile(FILE **f)
{
+ const char *tmpdir_env = getenv("TMPDIR");
char *full_tempdir = NULL;
- const char *tmpdir_env;
- int fd;
mode_t original_umask = 0;
+ int fd;
- /* If $TMPDIR is set, set tempdir to it, run it through
- * get_full_path(), and save the result in full_tempdir. Otherwise,
- * leave full_tempdir set to NULL. */
- tmpdir_env = getenv("TMPDIR");
+ /* Get the absolute path for the first directory among $TMPDIR
+ * and P_tmpdir that is writable, otherwise use /tmp/. */
if (tmpdir_env != NULL)
full_tempdir = check_writable_directory(tmpdir_env);
- /* If $TMPDIR is unset, empty, or not a writable directory, and
- * full_tempdir is NULL, try P_tmpdir instead. */
if (full_tempdir == NULL)
full_tempdir = check_writable_directory(P_tmpdir);
- /* if P_tmpdir is NULL, use /tmp. */
if (full_tempdir == NULL)
full_tempdir = mallocstrcpy(NULL, "/tmp/");
@@ -1516,8 +1511,8 @@ int prompt_failed_backupwrite(const char *filename)
{
static int choice;
static char *prevfile = NULL;
- /* The last file we were passed, so we don't keep asking this.
- * Though maybe we should? */
+ /* The last filename we were passed, so we don't keep asking this. */
+
if (prevfile == NULL || strcmp(filename, prevfile)) {
choice = do_yesno_prompt(FALSE, _("Failed to write backup file; "
"continue saving? (Say N if unsure.) "));