aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-02 00:58:43 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-12-02 00:58:43 +0000
commit3b31fc37af23c0e21791a6c9b813a3aa7a10072b (patch)
treef28aa4e6b7b5ea3cb18081165df37c7bd0ef9c16 /include
parentb6affabc9ef8c64b3f5a542507f2df2f71e9625a (diff)
Merged revisions 160208 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r160208 | tilghman | 2008-12-01 18:37:21 -0600 (Mon, 01 Dec 2008) | 10 lines Merged revisions 160207 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r160207 | tilghman | 2008-12-01 18:25:16 -0600 (Mon, 01 Dec 2008) | 3 lines Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc and glibc. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@160234 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/stringfields.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/asterisk/stringfields.h b/include/asterisk/stringfields.h
index 4b1847415..20597a591 100644
--- a/include/asterisk/stringfields.h
+++ b/include/asterisk/stringfields.h
@@ -255,12 +255,16 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr,
const char *__d__ = (data); \
size_t __dlen__ = (__d__) ? strlen(__d__) + 1 : 1; \
const char **__p__ = (const char **) (ptr); \
+ char *__q__; \
if (__dlen__ == 1) \
*__p__ = __ast_string_field_empty; \
- else if (!__ast_string_field_ptr_grow(&(x)->__field_mgr, __dlen__, ptr)) \
- memcpy((char *) *__p__, __d__, __dlen__); \
- else if ((*__p__ = __ast_string_field_alloc_space(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__))) \
- memcpy((char *) *__p__, __d__, __dlen__); \
+ else if (!__ast_string_field_ptr_grow(&(x)->__field_mgr, __dlen__, ptr)) { \
+ __q__ = (char *) *__p__; \
+ memcpy(__q__, __d__, __dlen__); \
+ } else if ((*__p__ = __ast_string_field_alloc_space(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__))) { \
+ __q__ = (char *) *__p__; \
+ memcpy(__q__, __d__, __dlen__); \
+ } \
} while (0)
/*!