summaryrefslogtreecommitdiff
path: root/sftp.c
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2001-03-05 07:10:47 +0000
committerBen Lindstrom <mouring@eviladmin.org>2001-03-05 07:10:47 +0000
commit46d6e0909951021c3b16bf8ccf1778c01d370c4b (patch)
tree2cba96c7eeddbacac28cb41ee9aa9af3858c8a38 /sftp.c
parent1addabd4911aca21ebc3acb06e0673b7ba9fceb8 (diff)
- markus@cvs.openbsd.org 2001/03/03 23:52:22
[sftp.c] clean up arg processing. based on work by Christophe_Moret@hp.com
Diffstat (limited to 'sftp.c')
-rw-r--r--sftp.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/sftp.c b/sftp.c
index 16a2616a..b2c4a649 100644
--- a/sftp.c
+++ b/sftp.c
@@ -24,7 +24,7 @@
#include "includes.h"
-RCSID("$OpenBSD: sftp.c,v 1.8 2001/02/28 05:36:28 deraadt Exp $");
+RCSID("$OpenBSD: sftp.c,v 1.9 2001/03/03 23:52:22 markus Exp $");
/* XXX: commandline mode */
/* XXX: copy between two remote hosts (commandline) */
@@ -91,24 +91,14 @@ make_ssh_args(char *add_arg)
static char **args = NULL;
static int nargs = 0;
char debug_buf[4096];
- int i, use_subsystem = 1;
-
- /* no subsystem if protocol 1 or the server-spec contains a '/' */
- if (use_ssh1 ||
- (sftp_server != NULL && strchr(sftp_server, '/') != NULL))
- use_subsystem = 0;
+ int i;
/* Init args array */
if (args == NULL) {
- nargs = use_subsystem ? 6 : 5;
+ nargs = 2;
i = 0;
args = xmalloc(sizeof(*args) * nargs);
args[i++] = "ssh";
- args[i++] = use_ssh1 ? "-oProtocol=1" : "-oProtocol=2";
- if (use_subsystem)
- args[i++] = "-s";
- args[i++] = "-oForwardAgent=no";
- args[i++] = "-oForwardX11=no";
args[i++] = NULL;
}
@@ -121,6 +111,13 @@ make_ssh_args(char *add_arg)
return(NULL);
}
+ /* no subsystem if the server-spec contains a '/' */
+ if (sftp_server == NULL || strchr(sftp_server, '/') == NULL)
+ make_ssh_args("-s");
+ make_ssh_args("-oForwardX11=no");
+ make_ssh_args("-oForwardAgent=no");
+ make_ssh_args(use_ssh1 ? "-oProtocol=1" : "-oProtocol=2");
+
/* Otherwise finish up and return the arg array */
if (sftp_server != NULL)
make_ssh_args(sftp_server);