dect
/
asterisk
Archived
13
0
Fork 0

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: http://svn.digium.com/svn/asterisk/trunk@48967 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
file 2006-12-26 05:23:25 +00:00
parent 1aba4079bc
commit 7b32df306c
1 changed files with 8 additions and 12 deletions

View File

@ -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 */
cnf = ast_calloc(1, sizeof(struct ast_conference));
if (!cnf) {
ast_log(LOG_ERROR, "Out of memory\n");
return NULL;
}
var = ast_load_realtime("meetme", "confno", confno, NULL);
if (!var)
return 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);
}