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.
This commit is contained in:
@@ -959,8 +959,8 @@ static void filter_specific_config_suites(private_tls_crypto_t *this,
|
||||
enumerator = enumerator_create_token(config, ",", " ");
|
||||
while (enumerator->enumerate(enumerator, &token))
|
||||
{
|
||||
suite = enum_from_name(tls_cipher_suite_names, token);
|
||||
if (suite == suites[i].suite)
|
||||
if (enum_from_name(tls_cipher_suite_names, token, &suite) &&
|
||||
suite == suites[i].suite)
|
||||
{
|
||||
suites[remaining++] = suites[i];
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user