[asterisk-commits] rmudgett: branch 13 r424105 - in /branches/13: ./ res/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Sep 29 16:17:29 CDT 2014
Author: rmudgett
Date: Mon Sep 29 16:17:26 2014
New Revision: 424105
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=424105
Log:
Simplify UUID generation in several places.
Replace code using ast_uuid_generate() with simpler and faster code using
ast_uuid_generate_str(). The new code avoids a malloc(), free(), and
copy.
........
Merged revisions 424103 from http://svn.asterisk.org/svn/asterisk/branches/12
Modified:
branches/13/ (props changed)
branches/13/res/res_pjsip.c
branches/13/res/res_pjsip_authenticator_digest.c
branches/13/res/res_pjsip_pubsub.c
branches/13/res/res_pjsip_session.c
Propchange: branches/13/
------------------------------------------------------------------------------
Binary property 'branch-12-merged' - no diff available.
Modified: branches/13/res/res_pjsip.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip.c?view=diff&rev=424105&r1=424104&r2=424105
==============================================================================
--- branches/13/res/res_pjsip.c (original)
+++ branches/13/res/res_pjsip.c Mon Sep 29 16:17:26 2014
@@ -1978,11 +1978,7 @@
char uuid_str[AST_UUID_STR_LEN];
if (ast_strlen_zero(user)) {
- RAII_VAR(struct ast_uuid *, uuid, ast_uuid_generate(), ast_free_ptr);
- if (!uuid) {
- return -1;
- }
- user = ast_uuid_to_str(uuid, uuid_str, sizeof(uuid_str));
+ user = ast_uuid_generate_str(uuid_str, sizeof(uuid_str));
}
/* Parse the provided target URI so we can determine what transport it will end up using */
@@ -2731,14 +2727,9 @@
struct ast_taskprocessor *ast_sip_create_serializer(void)
{
struct ast_taskprocessor *serializer;
- RAII_VAR(struct ast_uuid *, uuid, ast_uuid_generate(), ast_free_ptr);
char name[AST_UUID_STR_LEN];
- if (!uuid) {
- return NULL;
- }
-
- ast_uuid_to_str(uuid, name, sizeof(name));
+ ast_uuid_generate_str(name, sizeof(name));
serializer = ast_threadpool_serializer(name, sip_threadpool);
if (!serializer) {
Modified: branches/13/res/res_pjsip_authenticator_digest.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_authenticator_digest.c?view=diff&rev=424105&r1=424104&r2=424105
==============================================================================
--- branches/13/res/res_pjsip_authenticator_digest.c (original)
+++ branches/13/res/res_pjsip_authenticator_digest.c Mon Sep 29 16:17:26 2014
@@ -443,15 +443,16 @@
static int build_entity_id(void)
{
- RAII_VAR(struct ast_uuid *, uu, ast_uuid_generate(), ast_free_ptr);
- RAII_VAR(char *, eid, ao2_alloc(AST_UUID_STR_LEN, NULL), ao2_cleanup);
-
- if (!uu || !eid) {
+ char *eid;
+
+ eid = ao2_alloc(AST_UUID_STR_LEN, NULL);
+ if (!eid) {
return -1;
}
- ast_uuid_to_str(uu, eid, AST_UUID_STR_LEN);
+ ast_uuid_generate_str(eid, AST_UUID_STR_LEN);
ao2_global_obj_replace_unref(entity_id, eid);
+ ao2_ref(eid, -1);
return 0;
}
Modified: branches/13/res/res_pjsip_pubsub.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_pubsub.c?view=diff&rev=424105&r1=424104&r2=424105
==============================================================================
--- branches/13/res/res_pjsip_pubsub.c (original)
+++ branches/13/res/res_pjsip_pubsub.c Mon Sep 29 16:17:26 2014
@@ -2188,6 +2188,7 @@
struct ast_datastore *ast_sip_subscription_alloc_datastore(const struct ast_datastore_info *info, const char *uid)
{
RAII_VAR(struct ast_datastore *, datastore, NULL, ao2_cleanup);
+ char uuid_buf[AST_UUID_STR_LEN];
const char *uid_ptr = uid;
if (!info) {
@@ -2202,13 +2203,7 @@
datastore->info = info;
if (ast_strlen_zero(uid)) {
/* They didn't provide an ID so we'll provide one ourself */
- struct ast_uuid *uuid = ast_uuid_generate();
- char uuid_buf[AST_UUID_STR_LEN];
- if (!uuid) {
- return NULL;
- }
- uid_ptr = ast_uuid_to_str(uuid, uuid_buf, sizeof(uuid_buf));
- ast_free(uuid);
+ uid_ptr = ast_uuid_generate_str(uuid_buf, sizeof(uuid_buf));
}
datastore->uid = ast_strdup(uid_ptr);
Modified: branches/13/res/res_pjsip_session.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_pjsip_session.c?view=diff&rev=424105&r1=424104&r2=424105
==============================================================================
--- branches/13/res/res_pjsip_session.c (original)
+++ branches/13/res/res_pjsip_session.c Mon Sep 29 16:17:26 2014
@@ -550,6 +550,7 @@
struct ast_datastore *ast_sip_session_alloc_datastore(const struct ast_datastore_info *info, const char *uid)
{
RAII_VAR(struct ast_datastore *, datastore, NULL, ao2_cleanup);
+ char uuid_buf[AST_UUID_STR_LEN];
const char *uid_ptr = uid;
if (!info) {
@@ -564,13 +565,7 @@
datastore->info = info;
if (ast_strlen_zero(uid)) {
/* They didn't provide an ID so we'll provide one ourself */
- struct ast_uuid *uuid = ast_uuid_generate();
- char uuid_buf[AST_UUID_STR_LEN];
- if (!uuid) {
- return NULL;
- }
- uid_ptr = ast_uuid_to_str(uuid, uuid_buf, sizeof(uuid_buf));
- ast_free(uuid);
+ uid_ptr = ast_uuid_generate_str(uuid_buf, sizeof(uuid_buf));
}
datastore->uid = ast_strdup(uid_ptr);
More information about the asterisk-commits
mailing list