summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/asterisk/stringfields.h14
-rw-r--r--main/utils.c2
2 files changed, 6 insertions, 10 deletions
diff --git a/include/asterisk/stringfields.h b/include/asterisk/stringfields.h
index 5f2ac1a73..86e265beb 100644
--- a/include/asterisk/stringfields.h
+++ b/include/asterisk/stringfields.h
@@ -69,8 +69,7 @@
and assignments are always by value (i.e. strings are copied):
* ast_string_field_set() stores a simple value;
* ast_string_field_build() builds the string using a printf-style format;
- * ast_string_field_build_va() is the varargs version of the above (for
- portability reasons it uses two vararg arguments);
+ * ast_string_field_build_va() is the varargs version of the above;
* variants of these function allow passing a pointer to the field
as an argument.
@@ -82,8 +81,8 @@
ast_string_field_build(x, blah, "%d %s", zipcode, city);
ast_string_field_ptr_build(x, &x->blah, "%d %s", zipcode, city);
- ast_string_field_build_va(x, bar, fmt, args1, args2)
- ast_string_field_ptr_build_va(x, &x->bar, fmt, args1, args2)
+ ast_string_field_build_va(x, bar, fmt, args)
+ ast_string_field_ptr_build_va(x, &x->bar, fmt, args)
\endcode
When the structure instance is no longer needed, the fields
@@ -206,7 +205,6 @@ void __ast_string_field_ptr_build(struct ast_string_field_mgr *mgr,
\param ptr Pointer to a field within the structure
\param format printf-style format string
\param args va_list of the args for the format_string
- \param args_again a copy of the first va_list for the sake of bsd not having a copy routine
\return nothing
*/
void __ast_string_field_ptr_build_va(struct ast_string_field_mgr *mgr,
@@ -370,8 +368,7 @@ void __ast_string_field_release_active(struct ast_string_field_pool *pool_head,
\param x Pointer to a structure containing fields
\param ptr Pointer to a field within the structure
\param fmt printf-style format string
- \param args1 Arguments for format string in va_list format
- \param args2 a second copy of the va_list for the sake of bsd, with no va_list copy operation
+ \param args Arguments for format string in va_list format
\return nothing
*/
#define ast_string_field_ptr_build_va(x, ptr, fmt, args) \
@@ -382,8 +379,7 @@ void __ast_string_field_release_active(struct ast_string_field_pool *pool_head,
\param x Pointer to a structure containing fields
\param field Name of the field to set
\param fmt printf-style format string
- \param args1 argument one
- \param args2 argument two
+ \param args Arguments for format string in va_list format
\return nothing
*/
#define ast_string_field_build_va(x, field, fmt, args) \
diff --git a/main/utils.c b/main/utils.c
index bed3dfad8..2737eda65 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -1773,7 +1773,7 @@ void __ast_string_field_ptr_build_va(struct ast_string_field_mgr *mgr,
return;
}
vsprintf(target, format, ap);
- va_end(ap);
+ va_end(ap); /* XXX va_end without va_start? */
__ast_string_field_release_active(*pool_head, *ptr);
*ptr = target;
} else if (*ptr != target) {