diff options
author | Martin Willi <martin@revosec.ch> | 2014-05-16 11:57:54 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-05-16 15:42:07 +0200 |
commit | 064fe9c963b7aa0ea904ab15443198d965175461 (patch) | |
tree | baafea8cdeb46701d996a07fa2bbb2c54fdf3458 /src/charon-cmd/cmd/cmd_connection.c | |
parent | 9ee8b3b41f9dd24e49f4fd80c5891f134b38d161 (diff) | |
download | strongswan-064fe9c963b7aa0ea904ab15443198d965175461.tar.bz2 strongswan-064fe9c963b7aa0ea904ab15443198d965175461.tar.xz |
enum: Return boolean result for enum_from_name() lookup
Handling the result for enum_from_name() is difficult, as checking for
negative return values requires a cast if the enum type is unsigned. The new
signature clearly differentiates lookup result from lookup value.
Further, this actually allows to convert real -1 enum values, which could not
be distinguished from "not-found" and the -1 return value.
This also fixes several clang warnings where enums are unsigned.
Diffstat (limited to 'src/charon-cmd/cmd/cmd_connection.c')
-rw-r--r-- | src/charon-cmd/cmd/cmd_connection.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/charon-cmd/cmd/cmd_connection.c b/src/charon-cmd/cmd/cmd_connection.c index ac085e131..c4c8a2a96 100644 --- a/src/charon-cmd/cmd/cmd_connection.c +++ b/src/charon-cmd/cmd/cmd_connection.c @@ -460,10 +460,9 @@ static void add_ts(private_cmd_connection_t *this, */ static void set_profile(private_cmd_connection_t *this, char *name) { - int profile; + profile_t profile; - profile = enum_from_name(profile_names, name); - if (profile == -1) + if (!enum_from_name(profile_names, name, &profile)) { DBG1(DBG_CFG, "unknown connection profile: %s", name); exit(1); |