From 32ec37a796d2c5934250bcd6b6dbbeb0c5133ce3 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Wed, 22 Jul 2020 17:05:03 +0530 Subject: [PATCH] Create mountpoint by hostname, clear prompt --- src/nnn.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index aa8ae4ce..567eb92a 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -4011,35 +4011,37 @@ static bool remote_mount(char *newpath) return FALSE; } - tmp = xreadline(NULL, "remote name: "); + tmp = xreadline(NULL, "host[:dir] > "); if (!tmp[0]) { printmsg(messages[MSG_CANCEL]); return FALSE; } - /* Create the mount point */ - mkpath(cfgpath, toks[TOK_MNT], mntpath); - mkpath(mntpath, tmp, newpath); - if (!xmktree(newpath, TRUE)) { - printwarn(NULL); - return FALSE; - } - /* Convert "Host" to "Host:" */ size_t len = xstrlen(tmp); bool path = FALSE; for (size_t count = 0; count < len; ++count) if (tmp[count] == ':') { + tmp[count] = '\0'; + len = count; path = TRUE; break; } - if (!path) { /* Append ':' if missing */ - tmp[len] = ':'; - tmp[len + 1] = '\0'; + /* Create the mount point */ + mkpath(cfgpath, toks[TOK_MNT], mntpath); + mkpath(mntpath, tmp, newpath); + if (!xmktree(newpath, TRUE)) { + printwarn(NULL); + return FALSE; } + tmp[len] = ':'; + + if (!path) /* Append ':' at the end */ + tmp[len + 1] = '\0'; + /* Connect to remote */ if (opt == 's') { if (spawn(env, tmp, newpath, flag)) {