[asterisk-commits] murf: branch 1.2 r41262 - /branches/1.2/pbx/pbx_config.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Aug 28 22:49:12 MST 2006


Author: murf
Date: Tue Aug 29 00:49:12 2006
New Revision: 41262

URL: http://svn.digium.com/view/asterisk?rev=41262&view=rev
Log:
Fixes for bug 7813, via patch submitted by stevens.

Modified:
    branches/1.2/pbx/pbx_config.c

Modified: branches/1.2/pbx/pbx_config.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/pbx/pbx_config.c?rev=41262&r1=41261&r2=41262&view=diff
==============================================================================
--- branches/1.2/pbx/pbx_config.c (original)
+++ branches/1.2/pbx/pbx_config.c Tue Aug 29 00:49:12 2006
@@ -985,9 +985,12 @@
 	}
 
 	/* 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 @@
 
 						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 @@
 								}
 								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),



More information about the asterisk-commits mailing list