From 3f60a1931f1e51c8e90516dd7e716244da7f42e7 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 3 May 2020 15:25:19 +0530 Subject: [PATCH] Decouple listpath and initpath --- src/nnn.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index c4f4bbac..d9a20dfc 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -1170,14 +1170,14 @@ static size_t seltofile(int fd, uint *pcount) if (listpath) { prefixlen = (ssize_t)xstrlen(prefixpath); - initlen = (ssize_t)xstrlen(initpath); + initlen = (ssize_t)xstrlen(listpath); } while (pos <= lastpos) { DPRINTF_S(pbuf); len = (ssize_t)xstrlen(pbuf); - if (!listpath || strncmp(initpath, pbuf, initlen) != 0) { + if (!listpath || strncmp(listpath, pbuf, initlen) != 0) { if (write(fd, pbuf, len) != len) return pos; } else { @@ -4225,8 +4225,9 @@ static void rmlistpath() { if (listpath) { DPRINTF_S(__FUNCTION__); - DPRINTF_S(initpath); - spawn("rm -rf", initpath, NULL, NULL, F_NOTRACE | F_MULTI); + DPRINTF_S(listpath); + spawn("rm -rf", listpath, NULL, NULL, F_NOTRACE | F_MULTI); + free(listpath); listpath = NULL; } } @@ -4261,11 +4262,6 @@ static void readpipe(int fd, char **path, char **lastname, char **lastdir) rmlistpath(); nextpath = load_input(fd, *path); - if (nextpath) { - free(initpath); - initpath = nextpath; - DPRINTF_S(initpath); - } } if (nextpath) {