X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=tig.h;h=ef298c736a1aea2a922e7f92c91499ad2a653826;hb=b2ea386030e3bccd197c42e335d811ed2cbaf2fd;hp=85b639bea72a0649869e27383bb056bb16b26936;hpb=607cfb11cd9b6e2beaa36158d77842f8aac7fd67;p=tig.git diff --git a/tig.h b/tig.h index 85b639b..ef298c7 100644 --- a/tig.h +++ b/tig.h @@ -236,6 +236,13 @@ struct enum_map { #define ENUM_MAP(name, value) { name, STRING_SIZE(name), value } +#define ENUM_SYM_MACRO(prefix, name) prefix##_##name +#define ENUM_MAP_MACRO(prefix, name) ENUM_MAP(#name, ENUM_SYM_MACRO(prefix, name)) + +#define DEFINE_ENUM(name, info) \ + enum name { info(ENUM_SYM_MACRO) }; \ + static const struct enum_map name##_map[] = { info(ENUM_MAP_MACRO) } + static inline int string_enum_compare(const char *str1, const char *str2, int len) {