aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-28 17:01:35 +0000
committerroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-28 17:01:35 +0000
commitaec96f88739ffa4c2545f57a0a5e9cf5649729f0 (patch)
tree855787b35a6206ac56f4a8de05a294d3536c85ee /apps
parentac78839925d160023f130686fe3ac0affabbb008 (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@43911 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_meetme.c7
-rw-r--r--apps/app_queue.c18
2 files changed, 22 insertions, 3 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 891fc3655..a29289ed8 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -936,6 +936,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
if (conf->users == 2) {
if (!ast_streamfile(chan,"conf-onlyone",chan->language)) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
+ ast_stopstream(chan);
if (res > 0)
keepplaying=0;
else if (res == -1)
@@ -944,6 +945,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
} else {
if (!ast_streamfile(chan, "conf-thereare", chan->language)) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
+ ast_stopstream(chan);
if (res > 0)
keepplaying=0;
else if (res == -1)
@@ -958,6 +960,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
}
if (keepplaying && !ast_streamfile(chan, "conf-otherinparty", chan->language)) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
+ ast_stopstream(chan);
if (res > 0)
keepplaying=0;
else if (res == -1)
@@ -1986,8 +1989,10 @@ static int conf_exec(struct ast_channel *chan, void *data)
break;
} else {
/* Pin invalid */
- if (!ast_streamfile(chan, "conf-invalidpin", chan->language))
+ if (!ast_streamfile(chan, "conf-invalidpin", chan->language)) {
res = ast_waitstream(chan, AST_DIGIT_ANY);
+ ast_stopstream(chan);
+ }
else {
ast_log(LOG_WARNING, "Couldn't play invalid pin msg!\n");
break;
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 5d46a8df1..1a12bceeb 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -483,7 +483,14 @@ static void *changethread(void *data)
AST_LIST_LOCK(&interfaces);
AST_LIST_TRAVERSE(&interfaces, curint, list) {
- if (!strcasecmp(curint->interface, sc->dev))
+ char *interface;
+ char *slash_pos;
+ interface = ast_strdupa(curint->interface);
+ if ((slash_pos = strchr(interface, '/')))
+ if ((slash_pos = strchr(slash_pos + 1, '/')))
+ *slash_pos = '\0';
+
+ if (!strcasecmp(interface, sc->dev))
break;
}
AST_LIST_UNLOCK(&interfaces);
@@ -501,7 +508,14 @@ static void *changethread(void *data)
for (q = queues; q; q = q->next) {
ast_mutex_lock(&q->lock);
for (cur = q->members; cur; cur = cur->next) {
- if (strcasecmp(sc->dev, cur->interface))
+ char *interface;
+ char *slash_pos;
+ interface = ast_strdupa(cur->interface);
+ if ((slash_pos = strchr(interface, '/')))
+ if ((slash_pos = strchr(slash_pos + 1, '/')))
+ *slash_pos = '\0';
+
+ if (strcasecmp(sc->dev, interface))
continue;
if (cur->status != sc->state) {