]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
put back some simplifications, this time really tested
authorLuigi Rizzo <rizzo@icir.org>
Sun, 30 Apr 2006 23:31:43 +0000 (23:31 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Sun, 30 Apr 2006 23:31:43 +0000 (23:31 +0000)
(ael_lex.c manually deleted, runtest passed)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23782 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx/ael/ael.flex
pbx/ael/ael_lex.c

index 45cd1e0d4d76863d85af8704d607f596cb743c51..b4c785571c0d90076dcaf0a98a624aea3b979831 100644 (file)
@@ -240,7 +240,7 @@ includes    { STORE_POS; return KW_INCLUDES;}
                } else {
                        STORE_LOC;
                        yylval->str = strdup(yytext);
-                       yylval->str[strlen(yylval->str)-1] = '\0'; /* trim trailing ')' */
+                       yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
                        unput(')');
                        BEGIN(0);
                        return word;
@@ -290,19 +290,13 @@ includes  { STORE_POS; return KW_INCLUDES;}
                        yymore();
                } else {
                        STORE_LOC;
-                       yylval->str = strdup(yytext);
-                       if(yyleng > 1 )
-                               yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
                        BEGIN(0);
-                       if ( !strcmp(yylval->str,")") ) {
-                               free(yylval->str);
-                               yylval->str = 0;
-                               my_col++; /* XXX why ? */
+                       if ( !strcmp(yytext, ")") )
                                return RP;
-                       } else {
-                               unput(')');
-                               return word;
-                       }
+                       yylval->str = strdup(yytext);
+                       yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
+                       unput(')');
+                       return word;
                }
        }
 
@@ -321,8 +315,7 @@ includes    { STORE_POS; return KW_INCLUDES;}
                                /* printf("Got argg2 word %s\n", yylval->str); */
                                unput(',');
                                commaout = 1;
-                               if (yyleng > 1 )
-                                       *(yylval->str+yyleng-1)=0;
+                               yylval->str[yyleng-1] = '\0';
                                return word;
                        } else {
                                commaout = 0;
index ba71f20b26e1bcbb8b739fc40d06eb63f5bd3394..3a8837964055b91e52cd595d040e4243c290ab8c 100644 (file)
@@ -1348,7 +1348,7 @@ YY_RULE_SETUP
                } else {
                        STORE_LOC;
                        yylval->str = strdup(yytext);
-                       yylval->str[strlen(yylval->str)-1] = '\0'; /* trim trailing ')' */
+                       yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
                        unput(')');
                        BEGIN(0);
                        return word;
@@ -1414,26 +1414,20 @@ YY_RULE_SETUP
                        yymore();
                } else {
                        STORE_LOC;
-                       yylval->str = strdup(yytext);
-                       if(yyleng > 1 )
-                               yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
                        BEGIN(0);
-                       if ( !strcmp(yylval->str,")") ) {
-                               free(yylval->str);
-                               yylval->str = 0;
-                               my_col++; /* XXX why ? */
+                       if ( !strcmp(yytext, ")") )
                                return RP;
-                       } else {
-                               unput(')');
-                               return word;
-                       }
+                       yylval->str = strdup(yytext);
+                       yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
+                       unput(')');
+                       return word;
                }
        }
        YY_BREAK
 case 49:
 /* rule 49 can match eol */
 YY_RULE_SETUP
-#line 309 "ael.flex"
+#line 303 "ael.flex"
 {
                if( parencount != 0) { /* printf("Folding in a comma!\n"); */
                        yymore();
@@ -1449,8 +1443,7 @@ YY_RULE_SETUP
                                /* printf("Got argg2 word %s\n", yylval->str); */
                                unput(',');
                                commaout = 1;
-                               if (yyleng > 1 )
-                                       *(yylval->str+yyleng-1)=0;
+                               yylval->str[yyleng-1] = '\0';
                                return word;
                        } else {
                                commaout = 0;
@@ -1463,7 +1456,7 @@ YY_RULE_SETUP
 case 50:
 /* rule 50 can match eol */
 YY_RULE_SETUP
-#line 335 "ael.flex"
+#line 328 "ael.flex"
 {
                char c = yytext[yyleng-1];
                if ( pbcpop(c) ) { /* error */
@@ -1479,7 +1472,7 @@ YY_RULE_SETUP
 case 51:
 /* rule 51 can match eol */
 YY_RULE_SETUP
-#line 349 "ael.flex"
+#line 342 "ael.flex"
 {
                char c = yytext[yyleng-1];
                yymore();
@@ -1489,7 +1482,7 @@ YY_RULE_SETUP
 case 52:
 /* rule 52 can match eol */
 YY_RULE_SETUP
-#line 355 "ael.flex"
+#line 348 "ael.flex"
 {
                char c = yytext[yyleng-1];
                if ( pbcpop(c) ) { /* error */
@@ -1505,7 +1498,7 @@ YY_RULE_SETUP
 case 53:
 /* rule 53 can match eol */
 YY_RULE_SETUP
-#line 367 "ael.flex"
+#line 360 "ael.flex"
 {
                STORE_LOC;
                yylval->str = strdup(yytext);
@@ -1519,7 +1512,7 @@ YY_RULE_SETUP
 case 54:
 /* rule 54 can match eol */
 YY_RULE_SETUP
-#line 377 "ael.flex"
+#line 370 "ael.flex"
 {
                FILE *in1;
                char fnamebuf[1024],*p1,*p2;
@@ -1586,7 +1579,7 @@ case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(paren):
 case YY_STATE_EOF(semic):
 case YY_STATE_EOF(argg):
-#line 439 "ael.flex"
+#line 432 "ael.flex"
 {
                if ( --include_stack_index < 0 ) {
                        yyterminate();
@@ -1602,10 +1595,10 @@ case YY_STATE_EOF(argg):
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 452 "ael.flex"
+#line 445 "ael.flex"
 ECHO;
        YY_BREAK
-#line 1609 "ael_lex.c"
+#line 1602 "ael_lex.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -2735,7 +2728,7 @@ void ael_yyfree (void * ptr , yyscan_t yyscanner)
 
 #define YYTABLES_NAME "yytables"
 
-#line 452 "ael.flex"
+#line 445 "ael.flex"