From 6f8cdb5c03473be8ebced54acf4303ed782cd010 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Wed, 15 Feb 2006 23:00:07 +0000 Subject: Define the initial values separate from the STATIC definitions git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10255 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 4 ++-- include/asterisk/linkedlists.h | 28 +++++++++++++++++++--------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index b031525fb..28bd9a85d 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3355,8 +3355,8 @@ static int forward_message(struct ast_channel *chan, char *context, char *dir, i char callerid[512]; char ext_context[256]=""; int res = 0, cmd = 0; - struct ast_vm_user *receiver, *vmtmp; - AST_LIST_HEAD_NOLOCK(extension, ast_vm_user) extensions; + struct ast_vm_user *receiver = NULL, *vmtmp; + AST_LIST_HEAD_NOLOCK_STATIC(extensions, ast_vm_user); char tmp[256]; char *stringp, *s; int saved_messages = 0, found = 0; diff --git a/include/asterisk/linkedlists.h b/include/asterisk/linkedlists.h index 4f60366d5..6cd1f50fe 100644 --- a/include/asterisk/linkedlists.h +++ b/include/asterisk/linkedlists.h @@ -100,6 +100,23 @@ struct name { \ struct type *last; \ } +/*! + \brief Defines initial values for a declaration of AST_LIST_HEAD +*/ +#define AST_LIST_HEAD_INIT_VALUE { \ + .first = NULL, \ + .last = NULL, \ + .lock = AST_MUTEX_INIT_VALUE, \ + } + +/*! + \brief Defines initial values for a declaration of AST_LIST_HEAD_NOLOCK +*/ +#define AST_LIST_HEAD_NOLOCK_INIT_VALUE { \ + .first = NULL, \ + .last = NULL, \ + } + /*! \brief Defines a structure to be used to hold a list of specified type, statically initialized. \param name This will be the name of the defined structure. @@ -122,11 +139,7 @@ struct name { \ struct type *first; \ struct type *last; \ ast_mutex_t lock; \ -} name = { \ - .first = NULL, \ - .last = NULL, \ - .lock = AST_MUTEX_INIT_VALUE, \ -}; +} name = AST_LIST_HEAD_INIT_VALUE; /*! \brief Defines a structure to be used to hold a list of specified type, statically initialized. @@ -137,10 +150,7 @@ struct name { \ struct name { \ struct type *first; \ struct type *last; \ -} name = { \ - .first = NULL, \ - .last = NULL, \ -}; +} name = AST_LIST_HEAD_NOLOCK_INIT_VALUE; /*! \brief Initializes a list head structure with a specified first entry. -- cgit v1.2.3