]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
fix a couple of places where a logical member name (if specified) was not used, but...
authorKevin P. Fleming <kpfleming@digium.com>
Mon, 17 Sep 2007 16:33:30 +0000 (16:33 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Mon, 17 Sep 2007 16:33:30 +0000 (16:33 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82590 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c
channels/chan_iax2.c

index 3792e3526df54a43f8ce8a4d4037f21a169018f8..7fa030f332054057056d2750dd3cb70c49f220a0 100644 (file)
@@ -3773,6 +3773,7 @@ static int queue_function_queuememberlist(struct ast_channel *chan, char *cmd, c
        if (q) {
                int buflen = 0, count = 0;
                struct ao2_iterator mem_iter = ao2_iterator_init(q->members, 0);
+               const char *name_to_list;
 
                while ((m = ao2_iterator_next(&mem_iter))) {
                        /* strcat() is always faster than printf() */
@@ -3780,8 +3781,9 @@ static int queue_function_queuememberlist(struct ast_channel *chan, char *cmd, c
                                strncat(buf + buflen, ",", len - buflen - 1);
                                buflen++;
                        }
-                       strncat(buf + buflen, m->interface, len - buflen - 1);
-                       buflen += strlen(m->interface);
+                       name_to_list = ast_strlen_zero(m->membername) ? m->interface : m->membername;
+                       strncat(buf + buflen, name_to_list, len - buflen - 1);
+                       buflen += strlen(name_to_list);
                        /* Safeguard against overflow (negative length) */
                        if (buflen >= len - 2) {
                                ao2_ref(m, -1);
@@ -4111,9 +4113,13 @@ static int __queues_show(struct mansession *s, int manager, int fd, int argc, ch
                                } else
                                        ast_build_string(&max, &max_left, " has taken no calls yet");
                                if (s)
-                                       astman_append(s, "      %s%s%s", mem->interface, max_buf, term);
+                                       astman_append(s, "      %s%s%s",
+                                                     ast_strlen_zero(mem->membername) ? mem->interface : mem->membername,
+                                                     max_buf, term);
                                else
-                                       ast_cli(fd, "      %s%s%s", mem->interface, max_buf, term);
+                                       ast_cli(fd, "      %s%s%s",
+                                               ast_strlen_zero(mem->membername) ? mem->interface : mem->membername,
+                                               max_buf, term);
                                ao2_ref(mem, -1);
                        }
                } else if (s)
@@ -4541,7 +4547,7 @@ static char *complete_queue_remove_member(const char *line, const char *word, in
                                if (++which > state) {
                                        char *tmp;
                                        ast_mutex_unlock(&q->lock);
-                                       tmp = ast_strdup(m->interface);
+                                       tmp = ast_strdup((ast_strlen_zero(m->membername) ? m->interface : m->membername));
                                        ao2_ref(m, -1);
                                        return tmp;
                                }
index 3e530997046c6b91b0e7b9bc7b58250f10ce2b3c..52925b25e11d239e5cb0e4c9a2219b41a4a2a444 100644 (file)
@@ -5835,7 +5835,7 @@ static void reg_source_db(struct iax2_peer *p)
                                        if (p->expire > -1)
                                                ast_sched_del(sched, p->expire);
                                        ast_device_state_changed("IAX2/%s", p->name); /* Activate notification */
-                                       p->expire = iax2_sched_add(sched, (p->expiry + 10) * 1000, expire_registry, (void *)p->name);
+                                       p->expire = iax2_sched_add(sched, (p->expiry + 10) * 1000, expire_registry, (void *)(char *)p->name);
                                        if (iax2_regfunk)
                                                iax2_regfunk(p->name, 1);
                                        register_peer_exten(p, 1);