diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-16 21:50:47 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-16 21:50:47 +0000 |
commit | cbd8a68f011340cfa0aa7bb2271d32c73e372a23 (patch) | |
tree | 1b350880afadeb789b1baf197875a48fc618f8ad /include/asterisk | |
parent | 09252eab908ff844f29395eb586e8f3dcc7a6de2 (diff) |
Merged revisions 176255 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r176255 | kpfleming | 2009-02-16 15:45:54 -0600 (Mon, 16 Feb 2009) | 13 lines
Merged revisions 176216 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r176216 | kpfleming | 2009-02-16 15:10:38 -0600 (Mon, 16 Feb 2009) | 3 lines
fix a flaw in the ast_string_field_build() family of API calls; these functions made no attempt to reuse the space already allocated to a field, so every time the field was written it would allocate new space, leading to what appeared to be a memory leak.
........
r176254 | kpfleming | 2009-02-16 15:41:46 -0600 (Mon, 16 Feb 2009) | 3 lines
correct a logic error in the last stringfields commit... don't mark additional space as allocated if the string was built using already-allocated space
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@176258 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/stringfields.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/asterisk/stringfields.h b/include/asterisk/stringfields.h index ded54a47e..9c48bfda2 100644 --- a/include/asterisk/stringfields.h +++ b/include/asterisk/stringfields.h @@ -183,7 +183,7 @@ ast_string_field __ast_string_field_alloc_space(struct ast_string_field_mgr *mgr */ void __ast_string_field_ptr_build(struct ast_string_field_mgr *mgr, struct ast_string_field_pool **pool_head, - const ast_string_field *ptr, const char *format, ...) __attribute__((format(printf, 4, 5))); + ast_string_field *ptr, const char *format, ...) __attribute__((format(printf, 4, 5))); /*! \internal @@ -198,7 +198,7 @@ void __ast_string_field_ptr_build(struct ast_string_field_mgr *mgr, */ void __ast_string_field_ptr_build_va(struct ast_string_field_mgr *mgr, struct ast_string_field_pool **pool_head, - const ast_string_field *ptr, const char *format, va_list a1, va_list a2) __attribute__((format(printf, 4, 0))); + ast_string_field *ptr, const char *format, va_list a1, va_list a2) __attribute__((format(printf, 4, 0))); /*! \brief Declare a string field @@ -287,7 +287,7 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, \return nothing */ #define ast_string_field_ptr_build(x, ptr, fmt, args...) \ - __ast_string_field_ptr_build(&(x)->__field_mgr, &(x)->__field_mgr_pool, ptr, fmt, args) + __ast_string_field_ptr_build(&(x)->__field_mgr, &(x)->__field_mgr_pool, (ast_string_field *) ptr, fmt, args) /*! \brief Set a field to a complex (built) value @@ -298,7 +298,7 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, \return nothing */ #define ast_string_field_build(x, field, fmt, args...) \ - __ast_string_field_ptr_build(&(x)->__field_mgr, &(x)->__field_mgr_pool, &(x)->field, fmt, args) + __ast_string_field_ptr_build(&(x)->__field_mgr, &(x)->__field_mgr_pool, (ast_string_field *) &(x)->field, fmt, args) /*! \brief Set a field to a complex (built) value with prebuilt va_lists. @@ -310,7 +310,7 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, \return nothing */ #define ast_string_field_ptr_build_va(x, ptr, fmt, args1, args2) \ - __ast_string_field_ptr_build_va(&(x)->__field_mgr, &(x)->__field_mgr_pool, ptr, fmt, args1, args2) + __ast_string_field_ptr_build_va(&(x)->__field_mgr, &(x)->__field_mgr_pool, (ast_string_field *) ptr, fmt, args1, args2) /*! \brief Set a field to a complex (built) value @@ -322,6 +322,6 @@ int __ast_string_field_init(struct ast_string_field_mgr *mgr, \return nothing */ #define ast_string_field_build_va(x, field, fmt, args1, args2) \ - __ast_string_field_ptr_build_va(&(x)->__field_mgr, &(x)->__field_mgr_pool, &(x)->field, fmt, args1, args2) + __ast_string_field_ptr_build_va(&(x)->__field_mgr, &(x)->__field_mgr_pool, (ast_string_field *) &(x)->field, fmt, args1, args2) #endif /* _ASTERISK_STRINGFIELDS_H */ |