@ -56,7 +56,6 @@ typedef int flex_int32_t;
typedef unsigned char flex_uint8_t ;
typedef unsigned short int flex_uint16_t ;
typedef unsigned int flex_uint32_t ;
# endif /* ! C99 */
/* Limits of integral types. */
# ifndef INT8_MIN
@ -87,6 +86,8 @@ typedef unsigned int flex_uint32_t;
# define UINT32_MAX (4294967295U)
# endif
# endif /* ! C99 */
# endif /* ! FLEXINT_H */
# ifdef __cplusplus
@ -160,7 +161,15 @@ typedef void* yyscan_t;
/* Size of default input buffer. */
# ifndef YY_BUF_SIZE
# ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k.
* Moreover , YY_BUF_SIZE is 2 * YY_READ_BUF_SIZE in the general case .
* Ditto for the __ia64__ case accordingly .
*/
# define YY_BUF_SIZE 32768
# else
# define YY_BUF_SIZE 16384
# endif /* __ia64__ */
# endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@ -550,10 +559,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
# include "asterisk/channel.h"
# endif
/*!\note The latest Flex uses fwrite without checking its return value, which
# ifdef NEED_FLEX_FWRITE_WORKAROUND
/*!\note Some versions of Flex use fwrite without checking its return value, which
* is a warning on some compilers . Therefore , we use this workaround , to trick
* the compiler into suppressing this warning . */
# define fwrite(a,b,c,d) do { int __res = fwrite(a,b,c,d); (__res); } while (0)
# endif
enum valtype {
AST_EXPR_number , AST_EXPR_numeric_string , AST_EXPR_string
@ -600,7 +611,7 @@ int ast_yyget_column(yyscan_t yyscanner);
static int curlycount = 0 ;
static char * expr2_token_subst ( const char * mess ) ;
# line 6 02 "ast_expr2f.c"
# line 6 13 "ast_expr2f.c"
# define INITIAL 0
# define var 1
@ -739,7 +750,12 @@ static int input (yyscan_t yyscanner );
/* Amount of stuff to slurp up with each read. */
# ifndef YY_READ_BUF_SIZE
# ifdef __ia64__
/* On IA-64, the buffer size is 16k, not 8k */
# define YY_READ_BUF_SIZE 16384
# else
# define YY_READ_BUF_SIZE 8192
# endif /* __ia64__ */
# endif
/* Copy whatever the last rule matched to the standard output. */
@ -747,7 +763,7 @@ static int input (yyscan_t yyscanner );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite ( ) .
*/
# define ECHO fwrite( yytext, yyleng, 1, yyout )
# define ECHO do { if ( fwrite( yytext, yyleng, 1, yyout )) {} } while (0 )
# endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@ -758,7 +774,7 @@ static int input (yyscan_t yyscanner );
if ( YY_CURRENT_BUFFER_LVALUE - > yy_is_interactive ) \
{ \
int c = ' * ' ; \
in t n ; \
size_ t n ; \
for ( n = 0 ; n < max_size & & \
( c = getc ( yyin ) ) ! = EOF & & c ! = ' \n ' ; + + n ) \
buf [ n ] = ( char ) c ; \
@ -843,10 +859,10 @@ YY_DECL
register int yy_act ;
struct yyguts_t * yyg = ( struct yyguts_t * ) yyscanner ;
# line 13 0 "ast_expr2.fl"
# line 13 2 "ast_expr2.fl"
# line 8 48 "ast_expr2f.c"
# line 8 6 4 "ast_expr2f.c"
yylval = yylval_param ;
@ -937,132 +953,132 @@ do_action: /* This label is used only to access EOF actions. */
case 1 :
YY_RULE_SETUP
# line 13 2 "ast_expr2.fl"
# line 13 4 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_OR ; }
YY_BREAK
case 2 :
YY_RULE_SETUP
# line 13 3 "ast_expr2.fl"
# line 13 5 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_AND ; }
YY_BREAK
case 3 :
YY_RULE_SETUP
# line 13 4 "ast_expr2.fl"
# line 13 6 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_EQ ; }
YY_BREAK
case 4 :
YY_RULE_SETUP
# line 13 5 "ast_expr2.fl"
# line 13 7 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_OR ; }
YY_BREAK
case 5 :
YY_RULE_SETUP
# line 13 6 "ast_expr2.fl"
# line 13 8 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_AND ; }
YY_BREAK
case 6 :
YY_RULE_SETUP
# line 13 7 "ast_expr2.fl"
# line 13 9 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_EQ ; }
YY_BREAK
case 7 :
YY_RULE_SETUP
# line 1 38 "ast_expr2.fl"
# line 1 40 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_EQTILDE ; }
YY_BREAK
case 8 :
YY_RULE_SETUP
# line 1 39 "ast_expr2.fl"
# line 1 41 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_TILDETILDE ; }
YY_BREAK
case 9 :
YY_RULE_SETUP
# line 14 0 "ast_expr2.fl"
# line 14 2 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_GT ; }
YY_BREAK
case 10 :
YY_RULE_SETUP
# line 14 1 "ast_expr2.fl"
# line 14 3 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_LT ; }
YY_BREAK
case 11 :
YY_RULE_SETUP
# line 14 2 "ast_expr2.fl"
# line 14 4 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_GE ; }
YY_BREAK
case 12 :
YY_RULE_SETUP
# line 14 3 "ast_expr2.fl"
# line 14 5 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_LE ; }
YY_BREAK
case 13 :
YY_RULE_SETUP
# line 14 4 "ast_expr2.fl"
# line 14 6 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_NE ; }
YY_BREAK
case 14 :
YY_RULE_SETUP
# line 14 5 "ast_expr2.fl"
# line 14 7 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_PLUS ; }
YY_BREAK
case 15 :
YY_RULE_SETUP
# line 14 6 "ast_expr2.fl"
# line 14 8 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_COMMA ; }
YY_BREAK
case 16 :
YY_RULE_SETUP
# line 14 7 "ast_expr2.fl"
# line 14 9 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_MINUS ; }
YY_BREAK
case 17 :
YY_RULE_SETUP
# line 1 48 "ast_expr2.fl"
# line 1 50 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_MULT ; }
YY_BREAK
case 18 :
YY_RULE_SETUP
# line 1 49 "ast_expr2.fl"
# line 1 51 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_DIV ; }
YY_BREAK
case 19 :
YY_RULE_SETUP
# line 15 0 "ast_expr2.fl"
# line 15 2 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_MOD ; }
YY_BREAK
case 20 :
YY_RULE_SETUP
# line 15 1 "ast_expr2.fl"
# line 15 3 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_COND ; }
YY_BREAK
case 21 :
YY_RULE_SETUP
# line 15 2 "ast_expr2.fl"
# line 15 4 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_COMPL ; }
YY_BREAK
case 22 :
YY_RULE_SETUP
# line 15 3 "ast_expr2.fl"
# line 15 5 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_COLON ; }
YY_BREAK
case 23 :
YY_RULE_SETUP
# line 15 4 "ast_expr2.fl"
# line 15 6 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_COLONCOLON ; }
YY_BREAK
case 24 :
YY_RULE_SETUP
# line 15 5 "ast_expr2.fl"
# line 15 7 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_LP ; }
YY_BREAK
case 25 :
YY_RULE_SETUP
# line 15 6 "ast_expr2.fl"
# line 15 8 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOK_RP ; }
YY_BREAK
case 26 :
YY_RULE_SETUP
# line 15 7 "ast_expr2.fl"
# line 15 9 "ast_expr2.fl"
{
/* gather the contents of ${} expressions, with trailing stuff,
* into a single TOKEN .
@ -1075,24 +1091,24 @@ YY_RULE_SETUP
YY_BREAK
case 27 :
YY_RULE_SETUP
# line 16 7 "ast_expr2.fl"
# line 16 9 "ast_expr2.fl"
{ }
YY_BREAK
case 28 :
/* rule 28 can match eol */
YY_RULE_SETUP
# line 1 68 "ast_expr2.fl"
# line 1 70 "ast_expr2.fl"
{ SET_COLUMNS ; SET_STRING ; return TOKEN ; }
YY_BREAK
case 29 :
/* rule 29 can match eol */
YY_RULE_SETUP
# line 17 0 "ast_expr2.fl"
# line 17 2 "ast_expr2.fl"
{ /* what to do with eol */ }
YY_BREAK
case 30 :
YY_RULE_SETUP
# line 17 1 "ast_expr2.fl"
# line 17 3 "ast_expr2.fl"
{
SET_COLUMNS ;
/* the original behavior of the expression parser was
@ -1105,7 +1121,7 @@ YY_RULE_SETUP
case 31 :
/* rule 31 can match eol */
YY_RULE_SETUP
# line 18 0 "ast_expr2.fl"
# line 18 2 "ast_expr2.fl"
{
SET_COLUMNS ;
SET_STRING ;
@ -1115,7 +1131,7 @@ YY_RULE_SETUP
case 32 :
/* rule 32 can match eol */
YY_RULE_SETUP
# line 18 6 "ast_expr2.fl"
# line 18 8 "ast_expr2.fl"
{
curlycount = 0 ;
BEGIN ( var ) ;
@ -1125,7 +1141,7 @@ YY_RULE_SETUP
case 33 :
/* rule 33 can match eol */
YY_RULE_SETUP
# line 19 2 "ast_expr2.fl"
# line 19 4 "ast_expr2.fl"
{
curlycount - - ;
if ( curlycount < 0 ) {
@ -1139,7 +1155,7 @@ YY_RULE_SETUP
case 34 :
/* rule 34 can match eol */
YY_RULE_SETUP
# line 20 2 "ast_expr2.fl"
# line 20 4 "ast_expr2.fl"
{
curlycount + + ;
yymore ( ) ;
@ -1147,7 +1163,7 @@ YY_RULE_SETUP
YY_BREAK
case 35 :
YY_RULE_SETUP
# line 2 08 "ast_expr2.fl"
# line 2 1 0 "ast_expr2.fl"
{
BEGIN ( 0 ) ;
SET_COLUMNS ;
@ -1157,7 +1173,7 @@ YY_RULE_SETUP
YY_BREAK
case 36 :
YY_RULE_SETUP
# line 21 5 "ast_expr2.fl"
# line 21 7 "ast_expr2.fl"
{
curlycount = 0 ;
BEGIN ( var ) ;
@ -1167,7 +1183,7 @@ YY_RULE_SETUP
case 37 :
/* rule 37 can match eol */
YY_RULE_SETUP
# line 22 1 "ast_expr2.fl"
# line 22 3 "ast_expr2.fl"
{
char c = yytext [ yyleng - 1 ] ;
BEGIN ( 0 ) ;
@ -1178,7 +1194,7 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF ( trail ) :
# line 23 0 "ast_expr2.fl"
# line 23 2 "ast_expr2.fl"
{
BEGIN ( 0 ) ;
SET_COLUMNS ;
@ -1189,10 +1205,10 @@ case YY_STATE_EOF(trail):
YY_BREAK
case 38 :
YY_RULE_SETUP
# line 2 38 "ast_expr2.fl"
# line 2 40 "ast_expr2.fl"
ECHO ;
YY_BREAK
# line 1 194 "ast_expr2f.c"
# line 1 210 "ast_expr2f.c"
case YY_STATE_EOF ( INITIAL ) :
case YY_STATE_EOF ( var ) :
yyterminate ( ) ;
@ -2128,7 +2144,7 @@ void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
}
/** Set the current column.
* @ param column_no
* @ param line_number
* @ param yyscanner The scanner object .
*/
void ast_yyset_column ( int column_no , yyscan_t yyscanner )
@ -2368,7 +2384,7 @@ void *ast_yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
# define YYTABLES_NAME "yytables"
# line 2 38 "ast_expr2.fl"
# line 2 40 "ast_expr2.fl"