diff options
Diffstat (limited to 'libgamma_value_of_error.c')
-rw-r--r-- | libgamma_value_of_error.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libgamma_value_of_error.c b/libgamma_value_of_error.c new file mode 100644 index 0000000..6d2f878 --- /dev/null +++ b/libgamma_value_of_error.c @@ -0,0 +1,23 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +/** + * Get the value of a `libgamma` error definition refered to by name + * + * @param name The name of the definition associated with the error code + * @return The error code, zero if the name does is `NULL` + * or does not refer to a `libgamma` error + */ +int +libgamma_value_of_error(const char *name) +{ + if (!name) + return 0; +#define X(NAME, DESC)\ + if (!strcmp(name, #NAME))\ + return NAME; + LIST_ERRORS(X) + #undef X + return 0; +} |