diff options
author | root <root@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-28 17:01:35 +0000 |
---|---|---|
committer | root <root@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-28 17:01:35 +0000 |
commit | aec96f88739ffa4c2545f57a0a5e9cf5649729f0 (patch) | |
tree | 855787b35a6206ac56f4a8de05a294d3536c85ee /apps | |
parent | ac78839925d160023f130686fe3ac0affabbb008 (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.c | 7 | ||||
-rw-r--r-- | apps/app_queue.c | 18 |
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) { |