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)) {