X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=psftp.c;h=d498b07d728b23c407b8adda8e47fce8d43fb4ae;hb=452adcc95284e64df88f84efdc2d3d0f1ff5d7f1;hp=ae509f37610eb381bf702facb634156f9c67ccc7;hpb=ae2599845cdb6fd6e41d92f1c0eac37785518593;p=PuTTY.git diff --git a/psftp.c b/psftp.c index ae509f37..d498b07d 100644 --- a/psftp.c +++ b/psftp.c @@ -1687,6 +1687,11 @@ static int psftp_connect(char *userhost, char *user, int portnumber) cfg.port = 22; } + /* + * Enact command-line overrides. + */ + cmdline_run_saved(); + /* * Trim leading whitespace off the hostname if it's there. */ @@ -1789,6 +1794,17 @@ static int psftp_connect(char *userhost, char *user, int portnumber) return 0; } +void cmdline_error(char *p, ...) +{ + va_list ap; + fprintf(stderr, "pscp: "); + va_start(ap, p); + vfprintf(stderr, p, ap); + va_end(ap); + fputc('\n', stderr); + exit(1); +} + /* * Main program. Parse arguments etc. */ @@ -1802,6 +1818,7 @@ int main(int argc, char *argv[]) char *batchfile = NULL; flags = FLAG_STDERR | FLAG_INTERACTIVE; + cmdline_tooltype = TOOLTYPE_FILETRANSFER; ssh_get_line = &console_get_line; init_winsock(); sk_init(); @@ -1809,29 +1826,35 @@ int main(int argc, char *argv[]) userhost = user = NULL; for (i = 1; i < argc; i++) { + int ret; if (argv[i][0] != '-') { - if (userhost) - usage(); - else - userhost = dupstr(argv[i]); - } else if (strcmp(argv[i], "-v") == 0) { - verbose = 1, flags |= FLAG_VERBOSE; + if (userhost) + usage(); + else + userhost = dupstr(argv[i]); + continue; + } + ret = cmdline_process_param(argv[i], i+1