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/terminate.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/terminate.c')
-rw-r--r-- | src/swanctl/commands/terminate.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/swanctl/commands/terminate.c b/src/swanctl/commands/terminate.c index 689ba4d50..8b3233c89 100644 --- a/src/swanctl/commands/terminate.c +++ b/src/swanctl/commands/terminate.c @@ -80,8 +80,9 @@ static int terminate(vici_conn_t *conn) if (vici_register(conn, "control-log", log_cb, &format) != 0) { + ret = errno; fprintf(stderr, "registering for log failed: %s\n", strerror(errno)); - return errno; + return ret; } req = vici_begin("terminate"); if (child) @@ -108,8 +109,9 @@ static int terminate(vici_conn_t *conn) res = vici_submit(req, conn); if (!res) { + ret = errno; fprintf(stderr, "terminate request failed: %s\n", strerror(errno)); - return errno; + return ret; } if (format & COMMAND_FORMAT_RAW) { |