From 915944b7edfe7a85439badb28b2f841053ea6508 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Tue, 20 Feb 2007 21:54:23 +0000 Subject: [PATCH] add pool allocated printf function switch_core_sprintf git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4339 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/include/switch_core.h | 9 +++++++++ src/switch_core.c | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/include/switch_core.h b/src/include/switch_core.h index d55ecac949..a88f00e923 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -402,6 +402,15 @@ SWITCH_DECLARE(char *) switch_core_strdup(switch_memory_pool_t *pool, const char */ SWITCH_DECLARE(char *) switch_core_session_sprintf(switch_core_session_t *session, const char *fmt, ...); +/*! + \brief printf-style style printing routine. The data is output to a string allocated from the pool + \param pool a pool to use for allocation + \param fmt The format of the string + \param ... The arguments to use while printing the data + \return The new string +*/ +SWITCH_DECLARE(char *) switch_core_sprintf(switch_memory_pool_t *pool, const char *fmt, ...); + /*! \brief Retrieve the memory pool from a session \param session the session to retrieve the pool from diff --git a/src/switch_core.c b/src/switch_core.c index eec8aae8e3..95b99a71b3 100644 --- a/src/switch_core.c +++ b/src/switch_core.c @@ -1481,6 +1481,21 @@ SWITCH_DECLARE(char *) switch_core_session_sprintf(switch_core_session_t *sessio return result; } +SWITCH_DECLARE(char *) switch_core_sprintf(switch_memory_pool_t *pool, const char *fmt, ...) +{ + va_list ap; + char *result = NULL; + + assert(pool != NULL); + va_start(ap, fmt); + + result = apr_pvsprintf(pool ,fmt, ap); + + va_end(ap); + + return result; +} + SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session_t *session, const char *todup) {