diff options
author | Richard Mudgett <rmudgett@digium.com> | 2014-09-29 21:18:54 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2014-09-29 21:18:54 +0000 |
commit | 270932635d8fa0babe6af40e71b5e867e7cb0599 (patch) | |
tree | 2ffbd6142aa6c2293b2330e15779c2f85673f909 /res/res_pjsip_pubsub.c | |
parent | 9d2bc0675a6de60ea6df50a6becaa0b4f84bba93 (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
........
Merged revisions 424105 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@424109 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); |