aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authorroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-29 06:00:50 +0000
committerroot <root@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-29 06:00:50 +0000
commita855b2e42a7019520348677e4e665bbd0a8fcc1d (patch)
tree36cf9b444fc9b84e9dc79c29763c09b392c717c2 /pbx
parentfa300e38a47f5cc7877e07e254a54e4a45e919cd (diff)
automerge commit
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2-netsec@41266 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r--pbx/pbx_config.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index 6ece9d7e0..fcc80cb91 100644
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -985,9 +985,12 @@ static int handle_save_dialplan(int fd, int argc, char *argv[])
}
/* fireout general info */
- fprintf(output, "[general]\nstatic=%s\nwriteprotect=%s\n\n",
+ fprintf(output, "[general]\nstatic=%s\nwriteprotect=%s\nautofallthrough=%s\nclearglobalvars=%s\npriorityjumping=%s\n\n",
static_config ? "yes" : "no",
- write_protect_config ? "yes" : "no");
+ write_protect_config ? "yes" : "no",
+ autofallthrough_config ? "yes" : "no",
+ clearglobalvars_config ? "yes" : "no",
+ option_priority_jumping ? "yes" : "no");
if ((v = ast_variable_browse(cfg, "globals"))) {
fprintf(output, "[globals]\n");
@@ -1043,6 +1046,8 @@ static int handle_save_dialplan(int fd, int argc, char *argv[])
if (ast_get_extension_priority(p)!=PRIORITY_HINT) {
char *tempdata = NULL, *startdata;
+ const char *el = ast_get_extension_label(p);
+ char *label = calloc(1, 128);
tempdata = strdup((char *)ast_get_extension_app_data(p));
if (tempdata) {
startdata = tempdata;
@@ -1053,21 +1058,29 @@ static int handle_save_dialplan(int fd, int argc, char *argv[])
}
tempdata = startdata;
}
+ if (el) {
+ if (snprintf(label, 127, "(%s)", el) != (strlen(el)+2)) {
+ incomplete = 1; // error encountered or label is > 125 chars
+ label = NULL;
+ };
+ };
if (ast_get_extension_matchcid(p))
- fprintf(output, "exten => %s/%s,%d,%s(%s)\n",
+ fprintf(output, "exten => %s/%s,%d%s,%s(%s)\n",
ast_get_extension_name(p),
ast_get_extension_cidmatch(p),
- ast_get_extension_priority(p),
+ ast_get_extension_priority(p), (label)?label:"",
ast_get_extension_app(p),
tempdata);
else
- fprintf(output, "exten => %s,%d,%s(%s)\n",
+ fprintf(output, "exten => %s,%d%s,%s(%s)\n",
ast_get_extension_name(p),
- ast_get_extension_priority(p),
+ ast_get_extension_priority(p), (label)?label:"",
ast_get_extension_app(p),
tempdata);
if (tempdata)
free(tempdata);
+ if (label)
+ free(label);
} else
fprintf(output, "exten => %s,hint,%s\n",
ast_get_extension_name(p),