提交 bbf3c290 authored 作者: Michael Jerris's avatar Michael Jerris

add switch_core_session_sprintf which allocates from the session pool

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4319 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 045eb8a9
...@@ -393,6 +393,15 @@ SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session_t *session ...@@ -393,6 +393,15 @@ SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session_t *session
*/ */
SWITCH_DECLARE(char *) switch_core_strdup(switch_memory_pool_t *pool, const char *todup); SWITCH_DECLARE(char *) switch_core_strdup(switch_memory_pool_t *pool, const char *todup);
/*!
\brief printf-style style printing routine. The data is output to a string allocated from the session
\param session a session 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_session_sprintf(switch_core_session_t *session, const char *fmt, ...);
/*! /*!
\brief Retrieve the memory pool from a session \brief Retrieve the memory pool from a session
\param session the session to retrieve the pool from \param session the session to retrieve the pool from
......
...@@ -1465,6 +1465,22 @@ SWITCH_DECLARE(char *) switch_core_permanent_strdup(const char *todup) ...@@ -1465,6 +1465,22 @@ SWITCH_DECLARE(char *) switch_core_permanent_strdup(const char *todup)
return duped; return duped;
} }
SWITCH_DECLARE(char *) switch_core_session_sprintf(switch_core_session_t *session, const char *fmt, ...)
{
va_list ap;
char *result = NULL;
assert(session != NULL);
assert(session->pool != NULL);
va_start(ap, fmt);
result = apr_pvsprintf(session->pool ,fmt, ap);
va_end(ap);
return result;
}
SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session_t *session, const char *todup) SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session_t *session, const char *todup)
{ {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论