mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
simplify logic (runtest passed).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -74,7 +74,6 @@ static void pbcpush(char x);
|
||||
static int pbcpop(char x);
|
||||
|
||||
static int parencount = 0;
|
||||
static int commaout = 0;
|
||||
|
||||
/*
|
||||
* current line, column and filename, updated as we read the input.
|
||||
@@ -290,19 +289,15 @@ 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 ? */
|
||||
/* we have at least 1 char. If it is a single ')', just return it */
|
||||
if ( !strcmp(yytext, ")") )
|
||||
return RP;
|
||||
} else {
|
||||
unput(')');
|
||||
return word;
|
||||
}
|
||||
yylval->str = strdup(yytext);
|
||||
yylval->str[yyleng-1] = '\0'; /* trim trailing ')' */
|
||||
BEGIN(0);
|
||||
unput(')');
|
||||
my_col--; /* XXX not entirely correct, should go 'back' by 1 char */
|
||||
return word;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,24 +306,15 @@ includes { STORE_POS; return KW_INCLUDES;}
|
||||
yymore();
|
||||
} else {
|
||||
STORE_LOC;
|
||||
if( !commaout ) {
|
||||
if( !strcmp(yytext,"," ) ) {
|
||||
commaout = 0;
|
||||
my_col+=1;
|
||||
return COMMA;
|
||||
}
|
||||
yylval->str = strdup(yytext);
|
||||
/* printf("Got argg2 word %s\n", yylval->str); */
|
||||
unput(',');
|
||||
commaout = 1;
|
||||
if (yyleng > 1 )
|
||||
*(yylval->str+yyleng-1)=0;
|
||||
return word;
|
||||
} else {
|
||||
commaout = 0;
|
||||
my_col+=1;
|
||||
/* we have at least 1 char. If it is a single comma, just return it */
|
||||
if (!strcmp(yytext, "," ) )
|
||||
return COMMA;
|
||||
}
|
||||
yylval->str = strdup(yytext);
|
||||
/* otherwise return the string first, then the comma. */
|
||||
unput(',');
|
||||
my_col--; /* XXX not entirely correct, should go 'back' by 1 char */
|
||||
yylval->str[yyleng-1] = '\0'; /* trim the comma off the string */
|
||||
return word;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -530,7 +516,6 @@ void reset_argcount(yyscan_t yyscanner )
|
||||
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
||||
parencount = 0;
|
||||
pbcpos = 0;
|
||||
commaout = 0;
|
||||
pbcpush('(');
|
||||
c_prevword();
|
||||
BEGIN(argg);
|
||||
|
Reference in New Issue
Block a user