From 70b7c24cb078df45882711372f7663b4822a02d6 Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Tue, 24 Aug 2004 05:05:48 +0000 Subject: Fix for "-l" scp option --HG-- extra : convert_revision : 700ba4c9a06b892fa9742bc8f3b6fe73a32f94f7 --- cli-runopts.c | 12 ++++++------ scp.c | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cli-runopts.c b/cli-runopts.c index 05f637f..2aa3413 100644 --- a/cli-runopts.c +++ b/cli-runopts.c @@ -143,12 +143,6 @@ void cli_getopts(int argc, char ** argv) { if (argv[i][0] == '-') { /* A flag *waves* */ - if (strlen(argv[i]) > 2) { - fprintf(stderr, - "WARNING: Ignoring unknown argument '%s'\n", argv[i]); - continue; - } - switch (argv[i][1]) { case 'p': /* remoteport */ next = &cli_opts.remoteport; @@ -205,6 +199,12 @@ void cli_getopts(int argc, char ** argv) { "WARNING: Ignoring unknown argument '%s'\n", argv[i]); break; } /* Switch */ + + /* Now we handle args where they might be "-luser" (no spaces)*/ + if (next && strlen(argv[i]) > 2) { + *next = &argv[i][2]; + next = NULL; + } continue; /* next argument */ diff --git a/scp.c b/scp.c index b6eec88..e356b8b 100644 --- a/scp.c +++ b/scp.c @@ -178,8 +178,10 @@ do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout, int argc) close(pout[1]); args.list[0] = ssh_program; - if (remuser != NULL) - addargs(&args, "-l%s", remuser); + if (remuser != NULL) { + addargs(&args, "-l"); + addargs(&args, "%s", remuser); + } addargs(&args, "%s", host); addargs(&args, "%s", cmd); -- cgit v1.2.3