diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-02 00:57:31 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-12-02 00:57:31 +0000 |
commit | f1d490bac29b47dc6ea7799f1faeaf1563cd04eb (patch) | |
tree | 8b0b03098d8001bd7d9737d84e3350d5f58d1c03 /include | |
parent | 01b53f1cd1b3e9617ca5c7386f3a2ace8f923e3e (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.0@160228 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) /*! |