diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-02 00:58:43 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-02 00:58:43 +0000 |
commit | 3b31fc37af23c0e21791a6c9b813a3aa7a10072b (patch) | |
tree | f28aa4e6b7b5ea3cb18081165df37c7bd0ef9c16 /include | |
parent | b6affabc9ef8c64b3f5a542507f2df2f71e9625a (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.h | 12 |
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) /*! |