From: Tobias Brunner Date: Tue, 4 May 2010 15:33:35 +0000 (+0200) Subject: Do a proper cleanup when printing usage info. X-Git-Tag: 4.4.1~292 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d843ee6fa47473c28d37c878c0391e0644c0e55;p=thirdparty%2Fstrongswan.git Do a proper cleanup when printing usage info. --- diff --git a/src/charon/charon.c b/src/charon/charon.c index 9b552fb62c..35be630641 100644 --- a/src/charon/charon.c +++ b/src/charon/charon.c @@ -258,7 +258,6 @@ static void usage(const char *msg) " 2 = controlmore, 3 = raw, 4 = private)\n" "\n" ); - exit(msg == NULL? 0 : 1); } /** @@ -337,7 +336,8 @@ int main(int argc, char *argv[]) break; case 'h': usage(NULL); - break; + status = 0; + goto deinit; case 'v': printf("Linux strongSwan %s\n", VERSION); status = 0; @@ -351,7 +351,8 @@ int main(int argc, char *argv[]) continue; default: usage(""); - break; + status = 1; + goto deinit; } break; }