From: Tilghman Lesher Date: Thu, 16 Dec 2010 08:54:23 +0000 (+0000) Subject: Eliminate duplicates from container. X-Git-Tag: 1.6.2.17-rc1~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8d249920502644a5f4864859d43cc1015c82133;p=thirdparty%2Fasterisk.git Eliminate duplicates from container. (closes issue #18091) Reported by: bunny Patches: 20101006__issue18091.diff.txt uploaded by tilghman (license 14) Tested by: bunny git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@298477 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/funcs/func_dialgroup.c b/funcs/func_dialgroup.c index 467bc87fa8..b1fa78017a 100644 --- a/funcs/func_dialgroup.c +++ b/funcs/func_dialgroup.c @@ -236,6 +236,11 @@ static int dialgroup_write(struct ast_channel *chan, const char *cmd, char *data if (strcasecmp(args.op, "add") == 0) { for (j = 0; j < inter.argc; j++) { + /* Eliminate duplicates */ + if ((entry = ao2_find(grhead->entries, inter.faces[j], 0))) { + ao2_ref(entry, -1); + continue; + } if ((entry = ao2_alloc(sizeof(*entry), NULL))) { ast_copy_string(entry->name, inter.faces[j], sizeof(entry->name)); ao2_link(grhead->entries, entry);