From: Martin Willi Date: Tue, 26 Mar 2013 16:38:02 +0000 (+0100) Subject: charon-cmd: pass arguments to all handlers, even if already handled X-Git-Tag: 5.1.0dr1~154^2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7bcd96e43dcde713e7298b45cfbedb13290a278f;p=thirdparty%2Fstrongswan.git charon-cmd: pass arguments to all handlers, even if already handled --- diff --git a/src/charon-cmd/charon-cmd.c b/src/charon-cmd/charon-cmd.c index acfdcbae8e..d0fc4da070 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; }