aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-05-21 01:00:28 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-05-21 01:00:28 +0000
commit6a90ea060cadb00ac7cba8123d400aa2f4a1a18c (patch)
tree766c4088aa7446c703b5b1f6bf7e1d187ec0b33b /utils
parent3bfeb96b2924dbd19a8df390948a7adcf4ef48f7 (diff)
These changes were made via the comments atis_work made at 4:30am (Mountain Time zone- US)
in #asterisk-dev on 20 May 2008. He noted that a backslash was being inserted before commas in app call arguments in the extensions.conf.aeldump file that you get from aelparse with the -w arg. This was being generated from code left over from 1.4, where commas were substituted with '|', and any remaining commas needed to be escaped. Many thanks to atis for his comment; please let us know if these changes break anything! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117335 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'utils')
-rw-r--r--utils/ael_main.c38
1 files changed, 4 insertions, 34 deletions
diff --git a/utils/ael_main.c b/utils/ael_main.c
index 71cfce324..1fc955ab9 100644
--- a/utils/ael_main.c
+++ b/utils/ael_main.c
@@ -249,8 +249,6 @@ int ast_add_extension2(struct ast_context *con,
if( dump_extensions && dumpfile ) {
struct namelist *n;
- char *data2,*data3=0;
- int commacount = 0;
if( FIRST_TIME ) {
FIRST_TIME = 0;
@@ -284,44 +282,16 @@ int ast_add_extension2(struct ast_context *con,
if( data ) {
filter_newlines((char*)data);
filter_leading_space_from_exprs((char*)data);
+ /* in previous versions, commas were converted to '|' to separate
+ args in app calls, but now, commas are used. There used to be
+ code here to insert backslashes (escapes) before any commas
+ that may have been embedded in the app args. This code is no more. */
- /* compiling turns commas into vertical bars in the app data, and also removes the backslash from before escaped commas;
- we have to restore the escaping backslash in front of any commas; the vertical bars are OK to leave as-is */
- for (data2 = data; *data2; data2++) {
- if (*data2 == ',')
- commacount++; /* we need to know how much bigger the string will grow-- one backslash for each comma */
- }
- if (commacount)
- {
- char *d3,*d4;
-
- data2 = (char*)malloc(strlen(data)+commacount+1);
- data3 = data;
- d3 = data;
- d4 = data2;
- while (*d3) {
- if (*d3 == ',') {
- *d4++ = '\\'; /* put a backslash in front of each comma */
- *d4++ = *d3++;
- } else
- *d4++ = *d3++; /* or just copy the char */
- }
- *d4++ = 0; /* cap off the new string */
- data = data2;
- } else
- data2 = 0;
-
if( strcmp(label,"(null)") != 0 )
fprintf(dumpfile,"exten => %s,%d(%s),%s(%s)\n", extension, priority, label, application, (char*)data);
else
fprintf(dumpfile,"exten => %s,%d,%s(%s)\n", extension, priority, application, (char*)data);
- if (data2) {
- free(data2);
- data2 = 0;
- data = data3; /* restore data to pre-messedup state */
- }
-
} else {
if( strcmp(label,"(null)") != 0 )