diff options
Diffstat (limited to 'menuselect/menuselect.h')
-rw-r--r-- | menuselect/menuselect.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/menuselect/menuselect.h b/menuselect/menuselect.h index 112f1c88c..bf2bf4c4f 100644 --- a/menuselect/menuselect.h +++ b/menuselect/menuselect.h @@ -70,6 +70,8 @@ struct member { const char *touch_on_change; const char *support_level; const char *replacement; + /*! member_data is just an opaque, member-specific string */ + const char *member_data; /*! This module is currently selected */ unsigned int enabled:1; /*! This module was enabled when the config was loaded */ @@ -105,7 +107,8 @@ enum support_level_values { SUPPORT_EXTENDED = 1, SUPPORT_DEPRECATED = 2, SUPPORT_UNSPECIFIED = 3, - SUPPORT_COUNT = 4, /* Keep this item at the end of the list. Tracks total number of support levels. */ + SUPPORT_EXTERNAL = 4, + SUPPORT_COUNT = 5, /* Keep this item at the end of the list. Tracks total number of support levels. */ }; AST_LIST_HEAD_NOLOCK(support_level_bucket, member); @@ -161,4 +164,16 @@ static inline int strlen_zero(const char *s) return (!s || (*s == '\0')); } +#if !defined(ast_strdupa) && defined(__GNUC__) +#define ast_strdupa(s) \ + (__extension__ \ + ({ \ + const char *__old = (s); \ + size_t __len = strlen(__old) + 1; \ + char *__new = __builtin_alloca(__len); \ + memcpy (__new, __old, __len); \ + __new; \ + })) +#endif + #endif /* MENUSELECT_H */ |