From a106ed78d57f901ccfdf5145923f8c2bf6b33ef8 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 19 Jan 2014 14:35:05 -0800 Subject: Fix the leaving of a temp file w/o partial-file saving. Fixed bug 10350. --- cleanup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cleanup.c b/cleanup.c index c750ba65..961c1d26 100644 --- a/cleanup.c +++ b/cleanup.c @@ -156,8 +156,6 @@ NORETURN void _exit_cleanup(int code, const char *file, int line) switch_step++; if (cleanup_got_literal && (cleanup_fname || cleanup_fd_w != -1)) { - const char *fname = cleanup_fname; - cleanup_fname = NULL; if (cleanup_fd_r != -1) { close(cleanup_fd_r); cleanup_fd_r = -1; @@ -167,9 +165,11 @@ NORETURN void _exit_cleanup(int code, const char *file, int line) close(cleanup_fd_w); cleanup_fd_w = -1; } - if (fname && cleanup_new_fname && keep_partial + if (cleanup_fname && cleanup_new_fname && keep_partial && handle_partial_dir(cleanup_new_fname, PDIR_CREATE)) { int tweak_modtime = 0; + const char *fname = cleanup_fname; + cleanup_fname = NULL; if (!partial_dir) { /* We don't want to leave a partial file with a modern time or it * could be skipped via --update. Setting the time to something -- cgit v1.2.1