summaryrefslogtreecommitdiff
path: root/pbx
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-09-07 01:22:57 +0000
committerMark Spencer <markster@digium.com>2004-09-07 01:22:57 +0000
commit64b9a563f2c158b1e73dc9c407470c185cd1f23f (patch)
tree259daa585dfc25cd12e4fadcfdf49e45f6584bbe /pbx
parenta703e927b10532d1ac70de6c4cf331b2e1bea0a3 (diff)
Make menu interruptible (bug #2377), Also fix PBX "add extension" CLI (bug #2289)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx')
-rwxr-xr-xpbx/pbx_config.c14
1 files changed, 11 insertions, 3 deletions
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;