summaryrefslogtreecommitdiff
path: root/menuselect
diff options
context:
space:
mode:
authorDavid M. Lee <dlee@respoke.io>2016-07-27 09:56:29 -0500
committerDavid M. Lee <dlee@digium.com>2016-07-27 10:29:44 -0500
commit8802e55c260e3c595c5bf584c8cb823768e51d06 (patch)
tree6f450af375ac43e809e87be04c4f7f238b4b2988 /menuselect
parent49461f37b75aa27275d1c4811007e2a7f94ac002 (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.c12
-rw-r--r--menuselect/menuselect.h12
-rw-r--r--menuselect/menuselect_curses.c2
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;