diff options
author | Martin Willi <martin@revosec.ch> | 2014-10-09 16:48:29 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-10-10 11:42:18 +0200 |
commit | 67f9f09dd3aec23f8ebc514220c53833996dd1ea (patch) | |
tree | 725d2f77744e47d950c673aa61963542d1ea38db /src/swanctl/commands/list_sas.c | |
parent | d4d85135c5713f3bddebdc5ccc3c0bf0fa4b022a (diff) | |
download | strongswan-67f9f09dd3aec23f8ebc514220c53833996dd1ea.tar.bz2 strongswan-67f9f09dd3aec23f8ebc514220c53833996dd1ea.tar.xz |
swanctl: Fix exit codes based on errno
As fprintf() most likely sets errno, we should save it before printing the
error message.
Diffstat (limited to 'src/swanctl/commands/list_sas.c')
-rw-r--r-- | src/swanctl/commands/list_sas.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/swanctl/commands/list_sas.c b/src/swanctl/commands/list_sas.c index 80c279ce8..35e7469a9 100644 --- a/src/swanctl/commands/list_sas.c +++ b/src/swanctl/commands/list_sas.c @@ -283,7 +283,7 @@ static int list_sas(vici_conn_t *conn) bool noblock = FALSE; command_format_options_t format = COMMAND_FORMAT_NONE; char *arg, *ike = NULL; - int ike_id = 0; + int ike_id = 0, ret; while (TRUE) { @@ -315,8 +315,9 @@ static int list_sas(vici_conn_t *conn) } if (vici_register(conn, "list-sa", list_cb, &format) != 0) { + ret = errno; fprintf(stderr, "registering for SAs failed: %s\n", strerror(errno)); - return errno; + return ret; } req = vici_begin("list-sas"); if (ike) @@ -334,8 +335,9 @@ static int list_sas(vici_conn_t *conn) res = vici_submit(req, conn); if (!res) { + ret = errno; fprintf(stderr, "list-sas request failed: %s\n", strerror(errno)); - return errno; + return ret; } if (format & COMMAND_FORMAT_RAW) { |