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:
+1
-2
@@ -43,8 +43,7 @@ int main(int argc, char *argv[])
|
||||
limit = atoi(argv[2]);
|
||||
}
|
||||
|
||||
alg = enum_from_name(hash_algorithm_short_names, argv[1]);
|
||||
if (alg == -1)
|
||||
if (!enum_from_name(hash_algorithm_short_names, argv[1], &alg))
|
||||
{
|
||||
fprintf(stderr, "unknown hash algorthm: %s\n", argv[1]);
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user