aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2010-05-04 17:33:35 +0200
committerTobias Brunner <tobias@strongswan.org>2010-05-04 18:34:27 +0200
commit9d843ee6fa47473c28d37c878c0391e0644c0e55 (patch)
tree741efe90e46d0aa2bce310d112150b62509659b0 /src
parent6d7f4e0653d6c5a56153553bd629936be6b9ab55 (diff)
downloadstrongswan-9d843ee6fa47473c28d37c878c0391e0644c0e55.tar.bz2
strongswan-9d843ee6fa47473c28d37c878c0391e0644c0e55.tar.xz
Do a proper cleanup when printing usage info.
Diffstat (limited to 'src')
-rw-r--r--src/charon/charon.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/charon/charon.c b/src/charon/charon.c
index 9b552fb62..35be63064 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;
}