summaryrefslogtreecommitdiff
path: root/res/res_pjsip_pubsub.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2014-09-29 21:17:26 +0000
committerRichard Mudgett <rmudgett@digium.com>2014-09-29 21:17:26 +0000
commit2a7c5208ee143122f04d510db9b6aead921c0391 (patch)
treed5fecd249df4ed63167319dbe19cc642844ac200 /res/res_pjsip_pubsub.c
parent00207158e1f132f9269c3566ee13a3751f793616 (diff)
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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@424105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip_pubsub.c')
-rw-r--r--res/res_pjsip_pubsub.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c
index da632d877..b4d0be98d 100644
--- a/res/res_pjsip_pubsub.c
+++ b/res/res_pjsip_pubsub.c
@@ -2188,6 +2188,7 @@ static void subscription_datastore_destroy(void *obj)
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 @@ struct ast_datastore *ast_sip_subscription_alloc_datastore(const struct ast_data
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);