From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sat, 10 Nov 2018 23:16:59 +0000 (+0530)
Subject: Ensure co file does not have stale paths
X-Git-Tag: v2.1~36
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=721ac62f7212142629de92778be22cc1926ea6a6;p=nnn.git

Ensure co file does not have stale paths
---

diff --git a/src/nnn.c b/src/nnn.c
index ba8cef65..75044b68 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -2967,6 +2967,20 @@ nochange:
 				goto nochange;
 
 			if (cfg.copymode) {
+				/*
+				 * Clear the tmp copy path file on first copy.
+				 *
+				 * This ensures that when the first file path is
+				 * copied into memory (but not written to tmp file
+				 * yet to save on writes), the tmp file is cleared.
+				 * The user may be in the middle of a multicopy op
+				 * and issue a cp, mv of multi-rm assuming the files
+				 * in the copy list would be affected. However, these
+				 * ops read the source file paths from the tmp file.
+				 */
+				if (!ncp)
+					writecp(NULL, 0);
+
 				r = mkpath(path, dents[cur].name, newpath, PATH_MAX);
 				if (!appendfpath(newpath, r))
 					goto nochange;