summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2006-12-26 05:23:25 +0000
committerJoshua Colp <jcolp@digium.com>2006-12-26 05:23:25 +0000
commitb3ca8342fd76be1d7902a12f6b28238cced513ac (patch)
tree770be2b06f63daf087c88decf388ebeb4e373f73 /apps
parent7f61b822c17ccadac726172a2b120e8c9d029abf (diff)
Merged revisions 48966 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r48966 | file | 2006-12-26 00:20:08 -0500 (Tue, 26 Dec 2006) | 2 lines Get rid of a needless memory allocation and only create a conference structure in find_conf_realtime if data was read from realtime. (issue #8669 reported by robl) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_meetme.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 0a3e4a82b..f719f8e74 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -1979,25 +1979,21 @@ static struct ast_conference *find_conf_realtime(struct ast_channel *chan, char
if (!strcmp(confno, cnf->confno))
break;
}
- if (cnf){
+ if (cnf) {
cnf->refcount += refcount;
}
AST_LIST_UNLOCK(&confs);
if (!cnf) {
char *pin = NULL, *pinadmin = NULL; /* For temp use */
+
+ var = ast_load_realtime("meetme", "confno", confno, NULL);
- cnf = ast_calloc(1, sizeof(struct ast_conference));
- if (!cnf) {
- ast_log(LOG_ERROR, "Out of memory\n");
+ if (!var)
return NULL;
- }
- var = ast_load_realtime("meetme", "confno", confno, NULL);
while (var) {
- if (!strcasecmp(var->name, "confno")) {
- ast_copy_string(cnf->confno, var->value, sizeof(cnf->confno));
- } else if (!strcasecmp(var->name, "pin")) {
+ if (!strcasecmp(var->name, "pin")) {
pin = ast_strdupa(var->value);
} else if (!strcasecmp(var->name, "adminpin")) {
pinadmin = ast_strdupa(var->value);
@@ -2005,7 +2001,7 @@ static struct ast_conference *find_conf_realtime(struct ast_channel *chan, char
var = var->next;
}
ast_variables_destroy(var);
-
+
cnf = build_conf(confno, pin ? pin : "", pinadmin ? pinadmin : "", make, dynamic, refcount);
}