[asterisk-commits] murf: trunk r41267 - /trunk/pbx/pbx_config.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Aug 29 05:24:02 MST 2006


Author: murf
Date: Tue Aug 29 07:24:01 2006
New Revision: 41267

URL: http://svn.digium.com/view/asterisk?rev=41267&view=rev
Log:
Bugfix for 7813 applied to trunk as per patch supplied by stevens

Modified:
    trunk/pbx/pbx_config.c

Modified: trunk/pbx/pbx_config.c
URL: http://svn.digium.com/view/asterisk/trunk/pbx/pbx_config.c?rev=41267&r1=41266&r2=41267&view=diff
==============================================================================
--- trunk/pbx/pbx_config.c (original)
+++ trunk/pbx/pbx_config.c Tue Aug 29 07:24:01 2006
@@ -782,9 +782,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",
+		ast_true(ast_variable_retrieve(cfg, "general", "priorityjumping")) ? "yes" : "no");
 
 	if ((v = ast_variable_browse(cfg, "globals"))) {
 		fprintf(output, "[globals]\n");
@@ -850,6 +853,8 @@
 					const char *sep, *cid;
 					char *tempdata = strdup(ast_get_extension_app_data(p));
 					char *s;
+					const char *el = ast_get_extension_label(p);
+					char *label = calloc(1, 128);
 
 					if (!tempdata) { /* XXX error duplicating string ? */
 						incomplete = 1;
@@ -864,11 +869,18 @@
 					} else {
 						sep = cid = "";
 					}
-					fprintf(output, "exten => %s%s%s,%d,%s(%s)\n",
+					if (el) {
+						if (snprintf(label, 127, "(%s)", el) != (strlen(el)+2)) {
+							incomplete = 1;	/* error encountered or label > 125 chars */
+							label = NULL;
+						};
+					};
+					fprintf(output, "exten => %s%s%s,%d%s,%s(%s)\n",
 					    ast_get_extension_name(p), sep, cid,
-					    ast_get_extension_priority(p),
+					    ast_get_extension_priority(p), (label)?label:"",
 					    ast_get_extension_app(p), tempdata);
 					free(tempdata);
+					if (label) free(label);
 				}
 			}
 		}



More information about the asterisk-commits mailing list