diff options
author | Martin Willi <martin@revosec.ch> | 2013-03-26 17:38:02 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-05-06 15:28:27 +0200 |
commit | 7bcd96e43dcde713e7298b45cfbedb13290a278f (patch) | |
tree | 237666c0b9ce2407e6152f239df916a7ae09bbeb /src/charon-cmd | |
parent | 9dfd9275f029e9ccd7e25ded8f281e9987b9d982 (diff) | |
download | strongswan-7bcd96e43dcde713e7298b45cfbedb13290a278f.tar.bz2 strongswan-7bcd96e43dcde713e7298b45cfbedb13290a278f.tar.xz |
charon-cmd: pass arguments to all handlers, even if already handled
Diffstat (limited to 'src/charon-cmd')
-rw-r--r-- | src/charon-cmd/charon-cmd.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c index acfdcbae8..d0fc4da07 100644 --- a/src/charon-cmd/charon-cmd.c +++ b/src/charon-cmd/charon-cmd.c @@ -254,6 +254,8 @@ static void handle_arguments(int argc, char *argv[]) } while (TRUE) { + bool handled = FALSE; + opt = getopt_long(argc, argv, "", long_opts, NULL); switch (opt) { @@ -266,8 +268,9 @@ static void handle_arguments(int argc, char *argv[]) printf("%s, strongSwan %s\n", "charon-cmd", VERSION); exit(0); default: - if (conn->handle(conn, opt, optarg) || - creds->handle(creds, opt, optarg)) + handled |= conn->handle(conn, opt, optarg); + handled |= creds->handle(creds, opt, optarg); + if (handled) { continue; } |