From 96cbb4ff84ff6279dcf9735e980130b94a696b30 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sat, 19 Jun 2021 11:15:17 +0530 Subject: [PATCH] Fix #1076: show file name in archive extract prompt --- src/nnn.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index 6497ffc2..80bcf0ee 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -4286,15 +4286,19 @@ static bool handle_archive(char *fpath /* in-out param */, char op) bool x_to = FALSE; if (op == 'x') { - outdir = xreadline(NULL, messages[MSG_NEW_PATH]); - if (outdir && *outdir && !(*outdir == '.' && outdir[1] == '\0')) { - if (!xmktree(outdir, TRUE) || (chdir(outdir) == -1)) { - printwarn(NULL); - return FALSE; - } - outdir = realpath(".", NULL); - x_to = TRUE; + outdir = xreadline(xbasename(fpath), messages[MSG_NEW_PATH]); + if (!outdir || !*outdir) { /* Cancelled */ + printwait(messages[MSG_CANCEL], NULL); + return FALSE; + } + + if (!xmktree(outdir, TRUE) || (chdir(outdir) == -1)) { + printwarn(NULL); + return FALSE; } + /* Copy the new dir path to open it in smart context */ + outdir = realpath(".", NULL); + x_to = TRUE; } if (getutil(utils[UTIL_ATOOL])) { -- 2.48.1