From 343e6e482a7e008586a0c9cf60456e5381037af1 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 22 Sep 2009 20:33:58 +0200 Subject: Added handling of bindport in getopt. --- libssh/options.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libssh') diff --git a/libssh/options.c b/libssh/options.c index 3db4390a..8152c908 100644 --- a/libssh/options.c +++ b/libssh/options.c @@ -1087,6 +1087,7 @@ int ssh_options_getopt(SSH_OPTIONS *options, int *argcptr, char **argv) { char *localaddr = NULL; char *identity = NULL; char *port = NULL; + char *bindport = NULL; char **save = NULL; int i = 0; int argc = *argcptr; @@ -1115,7 +1116,7 @@ int ssh_options_getopt(SSH_OPTIONS *options, int *argcptr, char **argv) { } opterr = 0; /* shut up getopt */ - while(cont && ((i = getopt(argc, argv, "c:i:Cl:p:vb:rd12")) != -1)) { + while(cont && ((i = getopt(argc, argv, "c:i:Cl:p:vb:t:rd12")) != -1)) { switch(i) { case 'l': user = optarg; @@ -1123,6 +1124,9 @@ int ssh_options_getopt(SSH_OPTIONS *options, int *argcptr, char **argv) { case 'p': port = optarg; break; + case 't': + bindport = optarg; + break; case 'v': debuglevel++; break; @@ -1246,6 +1250,10 @@ int ssh_options_getopt(SSH_OPTIONS *options, int *argcptr, char **argv) { } ssh_options_set(options, SSH_OPTIONS_PORT_STR, port); + if (bindport) { + i = atoi(bindport); + ssh_options_set(options, SSH_OPTIONS_BINDPORT, &i); + } ssh_options_set(options, SSH_OPTIONS_SSH1, &ssh1); ssh_options_set(options, SSH_OPTIONS_SSH2, &ssh2); -- cgit v1.2.3