diff options
author | Richard Mudgett <rmudgett@digium.com> | 2014-09-29 21:17:26 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2014-09-29 21:17:26 +0000 |
commit | 2a7c5208ee143122f04d510db9b6aead921c0391 (patch) | |
tree | d5fecd249df4ed63167319dbe19cc642844ac200 /res/res_pjsip_pubsub.c | |
parent | 00207158e1f132f9269c3566ee13a3751f793616 (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.c | 9 |
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); |