aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-05-30 14:32:18 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-05-30 14:32:18 +0000
commitc98bfb03024d976de523c73d7c4602004d1b30d9 (patch)
treefd8dffa95e33152adc9ade4e7d7246929bc8bbe7 /pbx
parent960085b93effa2e60a104fd1dc7c285e8a17b43f (diff)
Save dialplan in new format
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1065 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rwxr-xr-xpbx/pbx_config.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index bfec603de..45953c6f5 100755
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -995,13 +995,26 @@ static int handle_save_dialplan(int fd, int argc, char *argv[])
context_header_written = 1;
}
- if (ast_get_extension_priority(p)!=PRIORITY_HINT)
- fprintf(output, "exten => %s,%d,%s,%s\n",
+ if (ast_get_extension_priority(p)!=PRIORITY_HINT) {
+ char *tempdata = NULL, *startdata;
+ tempdata = strdup((char *)ast_get_extension_app_data(p));
+ if (tempdata) {
+ startdata = tempdata;
+ while (*tempdata) {
+ if (*tempdata == '|')
+ *tempdata = ',';
+ tempdata++;
+ }
+ tempdata = startdata;
+ }
+ fprintf(output, "exten => %s,%d,%s(%s)\n",
ast_get_extension_name(p),
ast_get_extension_priority(p),
ast_get_extension_app(p),
- (char *)ast_get_extension_app_data(p));
- else
+ tempdata);
+ if (tempdata)
+ free(tempdata);
+ } else
fprintf(output, "exten => %s,hint,%s\n",
ast_get_extension_name(p),
ast_get_extension_app(p));