diff options
-rwxr-xr-x | apps/app_meetme.c | 29 | ||||
-rwxr-xr-x | pbx/pbx_config.c | 14 | ||||
-rwxr-xr-x | res/res_musiconhold.c | 4 |
3 files changed, 32 insertions, 15 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 42f42fc13..ef2ff3de9 100755 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -5,7 +5,7 @@ * * Copyright (C) 1999-2004, Digium, Inc. * - * Mark Spencer <markster@linux-support.net> + * Mark Spencer <markster@digium.com> * * This program is free software, distributed under the terms of * the GNU General Public License @@ -511,6 +511,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c char *agifiledefault = "conf-background.agi"; char meetmesecs[30] = ""; char exitcontext[AST_MAX_EXTENSION] = ""; + int dtmf; ZT_BUFFERINFO bi; char __buf[CONF_SIZE + AST_FRIENDLY_OFFSET]; @@ -840,10 +841,14 @@ zapretry: menu_active = 1; /* Record this sound! */ if (!ast_streamfile(chan, "conf-adminmenu", chan->language)) - ast_waitstream(chan, ""); - } else { - switch(f->subclass - 48) { - case 1: /* Un/Mute */ + dtmf = ast_waitstream(chan, AST_DIGIT_ANY); + else + dtmf = 0; + } else + dtmf = f->subclass; + if (dtmf) { + switch(dtmf) { + case '1': /* Un/Mute */ menu_active = 0; if (ztc.confmode & ZT_CONF_TALKER) { ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER; @@ -865,7 +870,7 @@ zapretry: ast_waitstream(chan, ""); } break; - case 2: /* Un/Lock the Conference */ + case '2': /* Un/Lock the Conference */ menu_active = 0; if (conf->locked) { conf->locked = 0; @@ -891,10 +896,14 @@ zapretry: menu_active = 1; /* Record this sound! */ if (!ast_streamfile(chan, "conf-usermenu", chan->language)) - ast_waitstream(chan, ""); - } else { - switch(f->subclass - 48) { - case 1: /* Un/Mute */ + dtmf = ast_waitstream(chan, AST_DIGIT_ANY); + else + dtmf = 0; + } else + dtmf = f->subclass; + if (dtmf) { + switch(dtmf) { + case '1': /* Un/Mute */ menu_active = 0; if (ztc.confmode & ZT_CONF_TALKER) { ztc.confmode = ZT_CONF_CONF | ZT_CONF_LISTENER; diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c index 39fd33244..b067e2fe4 100755 --- a/pbx/pbx_config.c +++ b/pbx/pbx_config.c @@ -1195,13 +1195,21 @@ static int handle_context_add_extension(int fd, int argc, char *argv[]) } } } - app = strsep(&whole_exten, ","); + app = whole_exten; if (app && (start = strchr(app, '(')) && (end = strrchr(app, ')'))) { *start = *end = '\0'; app_data = start + 1; process_quotes_and_slashes(app_data, ',', '|'); - } else - app_data = whole_exten; + } else { + if (app) { + app_data = strchr(app, ','); + if (app_data) { + *app_data = '\0'; + app_data++; + } + } else + app_data = NULL; + } if (!exten || !prior || !app || (!app_data && iprior != PRIORITY_HINT)) return RESULT_SHOWUSAGE; diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index 2cbb59c05..2dc39a5c6 100755 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -3,9 +3,9 @@ * * Routines implementing music on hold * - * Copyright (C) 1999, Mark Spencer + * Copyright (C) 1999-2004, Digium, Inc. * - * Mark Spencer <markster@linux-support.net> + * Mark Spencer <markster@digium.com> * * This program is free software, distributed under the terms of * the GNU General Public License |