QUEUE_MEMBER_LIST _really_ wants the interface name, not the membername.

This is a partial revert of revision 82590, which was an attempted cleanup,
but in reality, it broke QUEUE_MEMBER_LIST, which has always been intended
as a method by which component interfaces could be queried from the queue.
Membername isn't useful here, because that field cannot be used to obtain
further information about the member.  See the documentation on
QUEUE_MEMBER_LIST, RemoveQueueMember, QUEUE_MEMBER_PENALTY, and the various
AMI commands which take a member argument for further justification.
(closes issue #15664)
 Reported by: rain
 Patches: 
       app_queue-queue_member_list.diff uploaded by rain (license 327)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@211038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2009-08-07 18:16:28 +00:00
parent e87d76cb94
commit 17656694c3

View File

@@ -4297,8 +4297,8 @@ static int queue_function_queuememberlist(struct ast_channel *chan, char *cmd, c
strncat(buf + buflen, ",", len - buflen - 1);
buflen++;
}
strncat(buf + buflen, m->membername, len - buflen - 1);
buflen += strlen(m->membername);
strncat(buf + buflen, m->interface, len - buflen - 1);
buflen += strlen(m->interface);
/* Safeguard against overflow (negative length) */
if (buflen >= len - 2) {
ao2_ref(m, -1);