diff --git a/pbx/ael/ael.flex b/pbx/ael/ael.flex index 9f5e2f67f1824255d655939535bd7e26bc7a359c..04da2b3249a375de8a1283d1ba31335007a7b603 100644 --- a/pbx/ael/ael.flex +++ b/pbx/ael/ael.flex @@ -378,9 +378,7 @@ includes { STORE_POS; return KW_INCLUDES;} <semic>{NOSEMIC}; { STORE_LOC; yylval->str = strdup(yytext); - /* XXX maybe the truncation should be unconditional ? */ - if(yyleng > 1) - *(yylval->str+yyleng-1)=0; + yylval->str[yyleng-1] = '\0'; unput(';'); BEGIN(0); return word; diff --git a/pbx/ael/ael_lex.c b/pbx/ael/ael_lex.c index 5e50cb05a9ba29e5a82a43d56edfae8e572feb95..132bf5435036c5d79a054dbd7e1f0bc8f10b7004 100644 --- a/pbx/ael/ael_lex.c +++ b/pbx/ael/ael_lex.c @@ -1522,9 +1522,7 @@ YY_RULE_SETUP { STORE_LOC; yylval->str = strdup(yytext); - /* XXX maybe the truncation should be unconditional ? */ - if(yyleng > 1) - *(yylval->str+yyleng-1)=0; + yylval->str[yyleng-1] = '\0'; unput(';'); BEGIN(0); return word; @@ -1533,7 +1531,7 @@ YY_RULE_SETUP case 54: /* rule 54 can match eol */ YY_RULE_SETUP -#line 389 "ael.flex" +#line 387 "ael.flex" { FILE *in1; char fnamebuf[1024],*p1,*p2; @@ -1600,7 +1598,7 @@ case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(paren): case YY_STATE_EOF(semic): case YY_STATE_EOF(argg): -#line 451 "ael.flex" +#line 449 "ael.flex" { if ( --include_stack_index < 0 ) { yyterminate(); @@ -1616,10 +1614,10 @@ case YY_STATE_EOF(argg): YY_BREAK case 55: YY_RULE_SETUP -#line 464 "ael.flex" +#line 462 "ael.flex" ECHO; YY_BREAK -#line 1623 "ael_lex.c" +#line 1621 "ael_lex.c" case YY_END_OF_BUFFER: { @@ -2749,7 +2747,7 @@ void ael_yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 464 "ael.flex" +#line 462 "ael.flex"