diff options
author | David M. Lee <dlee@respoke.io> | 2016-07-27 09:56:29 -0500 |
---|---|---|
committer | David M. Lee <dlee@digium.com> | 2016-07-27 10:29:44 -0500 |
commit | 8802e55c260e3c595c5bf584c8cb823768e51d06 (patch) | |
tree | 6f450af375ac43e809e87be04c4f7f238b4b2988 /menuselect | |
parent | 49461f37b75aa27275d1c4811007e2a7f94ac002 (diff) |
Replace strdupa with more portable ast_strdupa
The strdupa function is a GNU extension, and not widely portable. We
have an ast_strdupa function used within Asterisk which is preferred.
I pulled the definition up from menuselect.c into the menuselect.h
header file so it can be shared across menuselect.
Change-Id: I9593c97f78386b47dc1e83201e80cb2f62b36c2e
Diffstat (limited to 'menuselect')
-rw-r--r-- | menuselect/menuselect.c | 12 | ||||
-rw-r--r-- | menuselect/menuselect.h | 12 | ||||
-rw-r--r-- | menuselect/menuselect_curses.c | 2 |
3 files changed, 13 insertions, 13 deletions
diff --git a/menuselect/menuselect.c b/menuselect/menuselect.c index efae311bb..f6a7fb39b 100644 --- a/menuselect/menuselect.c +++ b/menuselect/menuselect.c @@ -103,18 +103,6 @@ struct dep_file { }; AST_LIST_HEAD_NOLOCK_STATIC(deps_file, dep_file); -#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 - /*! \brief return a pointer to the first non-whitespace character */ static inline char *skip_blanks(char *str) { diff --git a/menuselect/menuselect.h b/menuselect/menuselect.h index 7b3fe2656..328ac9a0a 100644 --- a/menuselect/menuselect.h +++ b/menuselect/menuselect.h @@ -162,4 +162,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 */ diff --git a/menuselect/menuselect_curses.c b/menuselect/menuselect_curses.c index e79957485..260cf69a7 100644 --- a/menuselect/menuselect_curses.c +++ b/menuselect/menuselect_curses.c @@ -211,7 +211,7 @@ static void display_mem_info(WINDOW *menu, struct member *mem, int start_y, int if (mem->displayname) { char buf[maxlen + 1]; - char *displayname = strdupa(mem->displayname); + char *displayname = ast_strdupa(mem->displayname); char *word; int current_line = 1; int new_line = 1; |