| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
Dialplan Expression Lexical Scanner. More...
#include "asterisk.h"#include <stdio.h>#include <string.h>#include <errno.h>#include <stdlib.h>#include <sys/types.h>#include <locale.h>#include <ctype.h>#include <regex.h>#include <limits.h>#include "asterisk/ast_expr.h"#include "asterisk/logger.h"#include "asterisk/strings.h"#include "asterisk/channel.h"#include "ast_expr2.h"#include <unistd.h>
Go to the source code of this file.
| Data Structures | |
| struct | parse_io | 
| struct | val | 
| struct | yy_buffer_state | 
| struct | yy_trans_info | 
| struct | yyguts_t | 
| Macros | |
| #define | ast_yywrap(n) 1 | 
| #define | ASTMM_LIBC ASTMM_REDIRECT | 
| #define | BEGIN yyg->yy_start = 1 + 2 * | 
| #define | ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) | 
| #define | EOB_ACT_CONTINUE_SCAN 0 | 
| #define | EOB_ACT_END_OF_FILE 1 | 
| #define | EOB_ACT_LAST_MATCH 2 | 
| #define | FLEX_SCANNER | 
| #define | FLEXINT_H | 
| #define | FP___FMOD fmod | 
| #define | FP___PRINTF "%.16g" | 
| #define | FP___STRTOD strtod | 
| #define | FP___TYPE double | 
| #define | INITIAL 0 | 
| #define | INT16_MAX (32767) | 
| #define | INT16_MIN (-32767-1) | 
| #define | INT32_MAX (2147483647) | 
| #define | INT32_MIN (-2147483647-1) | 
| #define | INT8_MAX (127) | 
| #define | INT8_MIN (-128) | 
| #define | REJECT reject_used_but_not_detected | 
| #define | SET_COLUMNS | 
| #define | SET_NUMERIC_STRING | 
| #define | SET_STRING | 
| #define | trail 2 | 
| #define | UINT16_MAX (65535U) | 
| #define | UINT32_MAX (4294967295U) | 
| #define | UINT8_MAX (255U) | 
| #define | unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) | 
| #define | var 1 | 
| #define | YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) | 
| #define | YY_BREAK break; | 
| #define | YY_BUF_SIZE 16384 | 
| #define | YY_BUFFER_EOF_PENDING 2 | 
| #define | YY_BUFFER_NEW 0 | 
| #define | YY_BUFFER_NORMAL 1 | 
| #define | YY_CURRENT_BUFFER | 
| #define | YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] | 
| #define | YY_DECL | 
| #define | YY_DECL_IS_OURS 1 | 
| #define | YY_DO_BEFORE_ACTION | 
| #define | YY_END_OF_BUFFER 39 | 
| #define | YY_END_OF_BUFFER_CHAR 0 | 
| #define | YY_EXIT_FAILURE 2 | 
| #define | YY_EXTRA_TYPE void * | 
| #define | YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) | 
| #define | yy_flex_debug yyg->yy_flex_debug_r | 
| #define | YY_FLEX_MAJOR_VERSION 2 | 
| #define | YY_FLEX_MINOR_VERSION 5 | 
| #define | YY_FLEX_SUBMINOR_VERSION 35 | 
| #define | YY_FLUSH_BUFFER ast_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) | 
| #define | YY_INPUT(buf, result, max_size) | 
| #define | YY_INT_ALIGNED short int | 
| #define | YY_LESS_LINENO(n) | 
| #define | YY_MORE_ADJ yyg->yy_more_len | 
| #define | yy_new_buffer ast_yy_create_buffer | 
| #define | YY_NEW_FILE ast_yyrestart(yyin ,yyscanner ) | 
| #define | YY_NULL 0 | 
| #define | YY_NUM_RULES 38 | 
| #define | YY_READ_BUF_SIZE 8192 | 
| #define | YY_RESTORE_YY_MORE_OFFSET | 
| #define | YY_RULE_SETUP YY_USER_ACTION | 
| #define | YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) | 
| #define | yy_set_bol(at_bol) | 
| #define | yy_set_interactive(is_interactive) | 
| #define | YY_SKIP_YYWRAP | 
| #define | YY_START ((yyg->yy_start - 1) / 2) | 
| #define | YY_START_STACK_INCR 25 | 
| #define | YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) | 
| #define | YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) | 
| #define | YY_STRUCT_YY_BUFFER_STATE | 
| #define | YY_TYPEDEF_YY_BUFFER_STATE | 
| #define | YY_TYPEDEF_YY_SCANNER_T | 
| #define | YY_TYPEDEF_YY_SIZE_T | 
| #define | YY_USER_ACTION | 
| #define | yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) | 
| #define | yyconst | 
| #define | yyextra yyg->yyextra_r | 
| #define | yyin yyg->yyin_r | 
| #define | yyleng yyg->yyleng_r | 
| #define | yyless(n) | 
| #define | yyless(n) | 
| #define | yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) | 
| #define | yylloc yyg->yylloc_r | 
| #define | yylval yyg->yylval_r | 
| #define | yymore() (yyg->yy_more_flag = 1) | 
| #define | yyout yyg->yyout_r | 
| #define | YYSTATE YY_START | 
| #define | YYTABLES_NAME "yytables" | 
| #define | yyterminate() return YY_NULL | 
| #define | yytext yyg->yytext_r | 
| #define | yytext_ptr yytext_r | 
| Typedefs | |
| typedef short int | flex_int16_t | 
| typedef int | flex_int32_t | 
| typedef signed char | flex_int8_t | 
| typedef unsigned short int | flex_uint16_t | 
| typedef unsigned int | flex_uint32_t | 
| typedef unsigned char | flex_uint8_t | 
| typedef struct yy_buffer_state * | YY_BUFFER_STATE | 
| typedef unsigned char | YY_CHAR | 
| typedef size_t | yy_size_t | 
| typedef int | yy_state_type | 
| typedef void * | yyscan_t | 
| Enumerations | |
| enum | valtype { AST_EXPR_number , AST_EXPR_numeric_string , AST_EXPR_string } | 
| Functions | |
| int | ast_expr (char *expr, char *buf, int length, struct ast_channel *chan) | 
| Evaluate the given expression. | |
| void | ast_expr_clear_extra_error_info (void) | 
| void | ast_expr_register_extra_error_info (char *message) | 
| int | ast_str_expr (struct ast_str **str, ssize_t maxlen, struct ast_channel *chan, char *expr) | 
| Evaluate the given expression. | |
| YY_BUFFER_STATE | ast_yy_create_buffer (FILE *file, int size, yyscan_t yyscanner) | 
| void | ast_yy_delete_buffer (YY_BUFFER_STATE b, yyscan_t yyscanner) | 
| void | ast_yy_flush_buffer (YY_BUFFER_STATE b, yyscan_t yyscanner) | 
| static void | ast_yy_init_buffer (YY_BUFFER_STATE b, FILE *file, yyscan_t yyscanner) | 
| static void | ast_yy_load_buffer_state (yyscan_t yyscanner) | 
| YY_BUFFER_STATE | ast_yy_scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner) | 
| YY_BUFFER_STATE | ast_yy_scan_bytes (yyconst char *bytes, int len, yyscan_t yyscanner) | 
| YY_BUFFER_STATE | ast_yy_scan_string (yyconst char *yy_str, yyscan_t yyscanner) | 
| void | ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer, yyscan_t yyscanner) | 
| void * | ast_yyalloc (yy_size_t, yyscan_t yyscanner) | 
| static void | ast_yyensure_buffer_stack (yyscan_t yyscanner) | 
| int | ast_yyerror (const char *, YYLTYPE *, struct parse_io *) | 
| int | ast_yyerror (const char *s, yyltype *loc, struct parse_io *parseio) | 
| void | ast_yyfree (void *, yyscan_t yyscanner) | 
| int | ast_yyget_column (yyscan_t yyscanner) | 
| int | ast_yyget_debug (yyscan_t yyscanner) | 
| YY_EXTRA_TYPE | ast_yyget_extra (yyscan_t yyscanner) | 
| FILE * | ast_yyget_in (yyscan_t yyscanner) | 
| int | ast_yyget_leng (yyscan_t yyscanner) | 
| int | ast_yyget_lineno (yyscan_t yyscanner) | 
| YYLTYPE * | ast_yyget_lloc (yyscan_t yyscanner) | 
| YYSTYPE * | ast_yyget_lval (yyscan_t yyscanner) | 
| FILE * | ast_yyget_out (yyscan_t yyscanner) | 
| char * | ast_yyget_text (yyscan_t yyscanner) | 
| int | ast_yylex (YYSTYPE *yylval_param, YYLTYPE *yylloc_param, yyscan_t yyscanner) | 
| int | ast_yylex_destroy (yyscan_t yyscanner) | 
| int | ast_yylex_init (yyscan_t *scanner) | 
| int | ast_yylex_init_extra (YY_EXTRA_TYPE user_defined, yyscan_t *scanner) | 
| int | ast_yyparse (void *) | 
| void | ast_yypop_buffer_state (yyscan_t yyscanner) | 
| void | ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer, yyscan_t yyscanner) | 
| void * | ast_yyrealloc (void *, yy_size_t, yyscan_t yyscanner) | 
| void | ast_yyrestart (FILE *input_file, yyscan_t yyscanner) | 
| void | ast_yyset_column (int column_no, yyscan_t yyscanner) | 
| void | ast_yyset_debug (int debug_flag, yyscan_t yyscanner) | 
| void | ast_yyset_extra (YY_EXTRA_TYPE user_defined, yyscan_t yyscanner) | 
| void | ast_yyset_in (FILE *in_str, yyscan_t yyscanner) | 
| void | ast_yyset_lineno (int line_number, yyscan_t yyscanner) | 
| void | ast_yyset_lloc (YYLTYPE *yylloc_param, yyscan_t yyscanner) | 
| void | ast_yyset_lval (YYSTYPE *yylval_param, yyscan_t yyscanner) | 
| void | ast_yyset_out (FILE *out_str, yyscan_t yyscanner) | 
| static char * | expr2_token_subst (const char *mess) | 
| if (!yyg->yy_init) | |
| static int | input (yyscan_t yyscanner) | 
| int | isatty (int) | 
| while (1) | |
| static void | yy_fatal_error (yyconst char *msg, yyscan_t yyscanner) | 
| static void | yy_fatal_error (yyconst char msg[], yyscan_t yyscanner) | 
| static int | yy_get_next_buffer (yyscan_t yyscanner) | 
| static yy_state_type | yy_get_previous_state (yyscan_t yyscanner) | 
| static int | yy_init_globals (yyscan_t yyscanner) | 
| static yy_state_type | yy_try_NUL_trans (yy_state_type current_state, yyscan_t yyscanner) | 
| static void | yyunput (int c, char *buf_ptr, yyscan_t yyscanner) | 
| static void | yyunput (int c, register char *yy_bp, yyscan_t yyscanner) | 
| Variables | |
| static int | curlycount = 0 | 
| static const char *const | expr2_token_equivs1 [] | 
| static const char *const | expr2_token_equivs2 [] | 
| char | extra_error_message [4095] | 
| int | extra_error_message_supplied = 0 | 
| static yyconst flex_int16_t | yy_accept [63] | 
| register int | yy_act | 
| static yyconst flex_int16_t | yy_base [70] | 
| register char * | yy_bp | 
| static yyconst flex_int16_t | yy_chk [159] | 
| register char * | yy_cp | 
| YY_DECL | |
| static yyconst flex_int16_t | yy_def [70] | 
| static yyconst flex_int32_t | yy_ec [256] | 
| static yyconst flex_int32_t | yy_meta [29] | 
| static yyconst flex_int16_t | yy_nxt [159] | 
| struct yyguts_t * | yyg = (struct yyguts_t*)yyscanner | 
| yylloc = yylloc_param | |
| yylval = yylval_param | |
Dialplan Expression Lexical Scanner.
Definition in file ast_expr2f.c.
| #define ast_yywrap | ( | n | ) | 1 | 
Definition at line 331 of file ast_expr2f.c.
| #define ASTMM_LIBC ASTMM_REDIRECT | 
Definition at line 1 of file ast_expr2f.c.
| #define BEGIN yyg->yy_start = 1 + 2 * | 
Definition at line 145 of file ast_expr2f.c.
Definition at line 554 of file ast_expr2f.c.
| #define EOB_ACT_CONTINUE_SCAN 0 | 
Definition at line 176 of file ast_expr2f.c.
| #define EOB_ACT_END_OF_FILE 1 | 
Definition at line 177 of file ast_expr2f.c.
| #define EOB_ACT_LAST_MATCH 2 | 
Definition at line 178 of file ast_expr2f.c.
| #define FLEX_SCANNER | 
Definition at line 12 of file ast_expr2f.c.
| #define FLEXINT_H | 
Definition at line 33 of file ast_expr2f.c.
| #define FP___FMOD fmod | 
Definition at line 527 of file ast_expr2f.c.
| #define FP___PRINTF "%.16g" | 
Definition at line 526 of file ast_expr2f.c.
| #define FP___STRTOD strtod | 
Definition at line 528 of file ast_expr2f.c.
| #define FP___TYPE double | 
Definition at line 529 of file ast_expr2f.c.
| #define INITIAL 0 | 
Definition at line 604 of file ast_expr2f.c.
| #define INT16_MAX (32767) | 
Definition at line 76 of file ast_expr2f.c.
| #define INT16_MIN (-32767-1) | 
Definition at line 67 of file ast_expr2f.c.
| #define INT32_MAX (2147483647) | 
Definition at line 79 of file ast_expr2f.c.
| #define INT32_MIN (-2147483647-1) | 
Definition at line 70 of file ast_expr2f.c.
| #define INT8_MAX (127) | 
Definition at line 73 of file ast_expr2f.c.
| #define INT8_MIN (-128) | 
Definition at line 64 of file ast_expr2f.c.
| #define REJECT reject_used_but_not_detected | 
Definition at line 482 of file ast_expr2f.c.
| #define SET_COLUMNS | 
Definition at line 571 of file ast_expr2f.c.
| #define SET_NUMERIC_STRING | 
Definition at line 583 of file ast_expr2f.c.
| #define SET_STRING | 
Definition at line 577 of file ast_expr2f.c.
| #define trail 2 | 
Definition at line 606 of file ast_expr2f.c.
| #define UINT16_MAX (65535U) | 
Definition at line 85 of file ast_expr2f.c.
| #define UINT32_MAX (4294967295U) | 
Definition at line 88 of file ast_expr2f.c.
| #define UINT8_MAX (255U) | 
Definition at line 82 of file ast_expr2f.c.
| #define unput | ( | c | ) | yyunput( c, yyg->yytext_ptr , yyscanner ) | 
Definition at line 196 of file ast_expr2f.c.
| #define var 1 | 
Definition at line 605 of file ast_expr2f.c.
| #define YY_AT_BOL | ( | ) | (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) | 
Definition at line 327 of file ast_expr2f.c.
| #define YY_BREAK break; | 
Definition at line 830 of file ast_expr2f.c.
| #define YY_BUF_SIZE 16384 | 
Definition at line 164 of file ast_expr2f.c.
| #define YY_BUFFER_EOF_PENDING 2 | 
Definition at line 263 of file ast_expr2f.c.
| #define YY_BUFFER_NEW 0 | 
Definition at line 251 of file ast_expr2f.c.
| #define YY_BUFFER_NORMAL 1 | 
Definition at line 252 of file ast_expr2f.c.
| #define YY_CURRENT_BUFFER | 
Definition at line 281 of file ast_expr2f.c.
| #define YY_DECL | 
Definition at line 817 of file ast_expr2f.c.
| #define YY_DECL_IS_OURS 1 | 
Definition at line 812 of file ast_expr2f.c.
| #define YY_DO_BEFORE_ACTION | 
Definition at line 348 of file ast_expr2f.c.
| #define YY_END_OF_BUFFER 39 | 
Definition at line 357 of file ast_expr2f.c.
| #define YY_END_OF_BUFFER_CHAR 0 | 
Definition at line 160 of file ast_expr2f.c.
| #define YY_EXIT_FAILURE 2 | 
Definition at line 2004 of file ast_expr2f.c.
| #define YY_EXTRA_TYPE void * | 
Definition at line 617 of file ast_expr2f.c.
| #define YY_FATAL_ERROR | ( | msg | ) | yy_fatal_error( msg , yyscanner) | 
Definition at line 803 of file ast_expr2f.c.
| #define yy_flex_debug yyg->yy_flex_debug_r | 
Definition at line 139 of file ast_expr2f.c.
| #define YY_FLEX_MAJOR_VERSION 2 | 
Definition at line 13 of file ast_expr2f.c.
| #define YY_FLEX_MINOR_VERSION 5 | 
Definition at line 14 of file ast_expr2f.c.
| #define YY_FLEX_SUBMINOR_VERSION 35 | 
Definition at line 15 of file ast_expr2f.c.
| #define YY_FLUSH_BUFFER ast_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) | 
Definition at line 295 of file ast_expr2f.c.
Definition at line 756 of file ast_expr2f.c.
| #define YY_INT_ALIGNED short int | 
Definition at line 8 of file ast_expr2f.c.
| #define YY_LESS_LINENO | ( | n | ) | 
Definition at line 180 of file ast_expr2f.c.
| #define YY_MORE_ADJ yyg->yy_more_len | 
Definition at line 484 of file ast_expr2f.c.
| #define yy_new_buffer ast_yy_create_buffer | 
Definition at line 305 of file ast_expr2f.c.
| #define YY_NEW_FILE ast_yyrestart(yyin ,yyscanner ) | 
Definition at line 158 of file ast_expr2f.c.
| #define YY_NULL 0 | 
Definition at line 115 of file ast_expr2f.c.
| #define YY_NUM_RULES 38 | 
Definition at line 356 of file ast_expr2f.c.
| #define YY_READ_BUF_SIZE 8192 | 
Definition at line 741 of file ast_expr2f.c.
| #define YY_RESTORE_YY_MORE_OFFSET | 
Definition at line 485 of file ast_expr2f.c.
| #define YY_RULE_SETUP YY_USER_ACTION | 
Definition at line 833 of file ast_expr2f.c.
Definition at line 122 of file ast_expr2f.c.
| #define yy_set_bol | ( | at_bol | ) | 
Definition at line 317 of file ast_expr2f.c.
| #define yy_set_interactive | ( | is_interactive | ) | 
Definition at line 307 of file ast_expr2f.c.
| #define YY_SKIP_YYWRAP | 
Definition at line 332 of file ast_expr2f.c.
| #define YY_START ((yyg->yy_start - 1) / 2) | 
Definition at line 151 of file ast_expr2f.c.
| #define YY_START_STACK_INCR 25 | 
Definition at line 798 of file ast_expr2f.c.
| #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) | 
Definition at line 169 of file ast_expr2f.c.
| #define YY_STATE_EOF | ( | state | ) | (YY_END_OF_BUFFER + state + 1) | 
Definition at line 155 of file ast_expr2f.c.
| #define YY_STRUCT_YY_BUFFER_STATE | 
Definition at line 204 of file ast_expr2f.c.
| #define YY_TYPEDEF_YY_BUFFER_STATE | 
Definition at line 172 of file ast_expr2f.c.
| #define YY_TYPEDEF_YY_SCANNER_T | 
Definition at line 126 of file ast_expr2f.c.
| #define YY_TYPEDEF_YY_SIZE_T | 
Definition at line 199 of file ast_expr2f.c.
| #define YY_USER_ACTION | 
Definition at line 825 of file ast_expr2f.c.
| #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) | 
Definition at line 138 of file ast_expr2f.c.
| #define yyconst | 
Definition at line 111 of file ast_expr2f.c.
| #define yyextra yyg->yyextra_r | 
Definition at line 134 of file ast_expr2f.c.
| #define yyin yyg->yyin_r | 
Definition at line 132 of file ast_expr2f.c.
| #define yyleng yyg->yyleng_r | 
Definition at line 135 of file ast_expr2f.c.
| #define yyless | ( | n | ) | 
Definition at line 183 of file ast_expr2f.c.
| #define yyless | ( | n | ) | 
Definition at line 183 of file ast_expr2f.c.
| #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) | 
Definition at line 137 of file ast_expr2f.c.
| #define yylloc yyg->yylloc_r | 
Definition at line 664 of file ast_expr2f.c.
| #define yylval yyg->yylval_r | 
Definition at line 662 of file ast_expr2f.c.
| #define yymore | ( | ) | (yyg->yy_more_flag = 1) | 
Definition at line 483 of file ast_expr2f.c.
| #define yyout yyg->yyout_r | 
Definition at line 133 of file ast_expr2f.c.
| #define YYSTATE YY_START | 
Definition at line 152 of file ast_expr2f.c.
| #define YYTABLES_NAME "yytables" | 
Definition at line 2368 of file ast_expr2f.c.
| #define yyterminate | ( | ) | return YY_NULL | 
Definition at line 793 of file ast_expr2f.c.
| #define yytext yyg->yytext_r | 
Definition at line 136 of file ast_expr2f.c.
| #define yytext_ptr yytext_r | 
Definition at line 338 of file ast_expr2f.c.
| typedef short int flex_int16_t | 
Definition at line 55 of file ast_expr2f.c.
| typedef int flex_int32_t | 
Definition at line 56 of file ast_expr2f.c.
| typedef signed char flex_int8_t | 
Definition at line 54 of file ast_expr2f.c.
| typedef unsigned short int flex_uint16_t | 
Definition at line 58 of file ast_expr2f.c.
| typedef unsigned int flex_uint32_t | 
Definition at line 59 of file ast_expr2f.c.
| typedef unsigned char flex_uint8_t | 
Definition at line 57 of file ast_expr2f.c.
| typedef struct yy_buffer_state* YY_BUFFER_STATE | 
Definition at line 173 of file ast_expr2f.c.
| typedef unsigned char YY_CHAR | 
Definition at line 334 of file ast_expr2f.c.
| typedef size_t yy_size_t | 
Definition at line 200 of file ast_expr2f.c.
| typedef int yy_state_type | 
Definition at line 336 of file ast_expr2f.c.
| typedef void* yyscan_t | 
Definition at line 127 of file ast_expr2f.c.
| enum valtype | 
| Enumerator | |
|---|---|
| AST_EXPR_number | |
| AST_EXPR_numeric_string | |
| AST_EXPR_string | |
Definition at line 557 of file ast_expr2f.c.
| int ast_expr | ( | char * | expr, | 
| char * | buf, | ||
| int | length, | ||
| struct ast_channel * | chan | ||
| ) | 
Evaluate the given expression.
| expr | An expression | 
| buf | Result buffer | 
| length | Size of the result buffer, in bytes | 
| chan | Channel to use for evaluating included dialplan functions, if any | 
Definition at line 2391 of file ast_expr2f.c.
References ast_copy_string(), AST_EXPR_number, ast_yy_scan_string(), ast_yylex_destroy(), ast_yylex_init(), ast_yyparse(), buf, parse_io::chan, FP___PRINTF, free(), and io.
Referenced by AST_TEST_DEFINE(), check_eval(), check_pval_item(), pbx_substitute_variables_helper_full(), and pbx_substitute_variables_helper_full_location().
| void ast_expr_clear_extra_error_info | ( | void | ) | 
Definition at line 2469 of file ast_expr2f.c.
References extra_error_message, and extra_error_message_supplied.
Referenced by check_pval_item().
| void ast_expr_register_extra_error_info | ( | char * | message | ) | 
Definition at line 2463 of file ast_expr2f.c.
References extra_error_message, and extra_error_message_supplied.
Referenced by check_pval_item().
| int ast_str_expr | ( | struct ast_str ** | str, | 
| ssize_t | maxlen, | ||
| struct ast_channel * | chan, | ||
| char * | expr | ||
| ) | 
Evaluate the given expression.
| str | Dynamic result buffer | 
| maxlen | <0 if the size of the buffer should remain constant, >0 if the size of the buffer should expand to that many bytes, maximum, or 0 for unlimited expansion of the result buffer | 
| chan | Channel to use for evaluating included dialplan functions, if any | 
| expr | An expression | 
Definition at line 2433 of file ast_expr2f.c.
References AST_EXPR_number, ast_str_set(), ast_str_strlen(), ast_yy_scan_string(), ast_yylex_destroy(), ast_yylex_init(), ast_yyparse(), parse_io::chan, FP___PRINTF, free(), io, and str.
Referenced by ast_str_substitute_variables_full2().
| YY_BUFFER_STATE ast_yy_create_buffer | ( | FILE * | file, | 
| int | size, | ||
| yyscan_t | yyscanner | ||
| ) | 
Allocate and initialize an input buffer state.
| file | A readable stream. | 
| size | The character buffer size in bytes. When in doubt, use YY_BUF_SIZE. | 
| yyscanner | The scanner object. | 
Definition at line 1711 of file ast_expr2f.c.
References ast_yy_init_buffer(), ast_yyalloc(), b, and YY_FATAL_ERROR.
Referenced by ast_yyrestart(), and if().
| void ast_yy_delete_buffer | ( | YY_BUFFER_STATE | b, | 
| yyscan_t | yyscanner | ||
| ) | 
Destroy the buffer.
| b | a buffer created with ast_yy_create_buffer() | 
| yyscanner | The scanner object. | 
Definition at line 1739 of file ast_expr2f.c.
References ast_yyfree(), b, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, and yyg.
Referenced by ast_yylex_destroy(), and ast_yypop_buffer_state().
| void ast_yy_flush_buffer | ( | YY_BUFFER_STATE | b, | 
| yyscan_t | yyscanner | ||
| ) | 
Discard all buffered characters. On the next scan, YY_INPUT will be called.
| b | the buffer state to be flushed, usually YY_CURRENT_BUFFER. | 
| yyscanner | The scanner object. | 
Definition at line 1792 of file ast_expr2f.c.
References ast_yy_load_buffer_state(), b, YY_BUFFER_NEW, YY_CURRENT_BUFFER, YY_END_OF_BUFFER_CHAR, and yyg.
Referenced by ast_yy_init_buffer().
| 
 | static | 
Definition at line 1763 of file ast_expr2f.c.
References ast_yy_flush_buffer(), b, errno, isatty(), YY_CURRENT_BUFFER, and yyg.
Referenced by ast_yy_create_buffer(), and ast_yyrestart().
| 
 | static | 
Definition at line 1696 of file ast_expr2f.c.
References yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, yyg, and yyin.
Referenced by ast_yy_flush_buffer(), ast_yy_switch_to_buffer(), ast_yypop_buffer_state(), ast_yypush_buffer_state(), ast_yyrestart(), and if().
| YY_BUFFER_STATE ast_yy_scan_buffer | ( | char * | base, | 
| yy_size_t | size, | ||
| yyscan_t | yyscanner | ||
| ) | 
Setup the input buffer state to scan directly from a user-specified character buffer.
| base | the character buffer | 
| size | the size in bytes of the character buffer | 
| yyscanner | The scanner object. | 
Definition at line 1923 of file ast_expr2f.c.
References ast_yy_switch_to_buffer(), ast_yyalloc(), b, YY_BUFFER_NEW, YY_END_OF_BUFFER_CHAR, and YY_FATAL_ERROR.
Referenced by ast_yy_scan_bytes().
| YY_BUFFER_STATE ast_yy_scan_bytes | ( | yyconst char * | yybytes, | 
| int | _yybytes_len, | ||
| yyscan_t | yyscanner | ||
| ) | 
Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will scan from a copy of bytes.
| bytes | the byte buffer to scan | 
| len | the number of bytes in the buffer pointed to by bytes. | 
| yyscanner | The scanner object. | 
Definition at line 1973 of file ast_expr2f.c.
References ast_yy_scan_buffer(), ast_yyalloc(), b, buf, YY_END_OF_BUFFER_CHAR, and YY_FATAL_ERROR.
Referenced by ast_yy_scan_string().
| YY_BUFFER_STATE ast_yy_scan_string | ( | yyconst char * | yystr, | 
| yyscan_t | yyscanner | ||
| ) | 
Setup the input buffer state to scan a string. The next call to ast_yylex() will scan from a copy of str.
| yystr | a NUL-terminated string to scan | 
| yyscanner | The scanner object. | 
Definition at line 1960 of file ast_expr2f.c.
References ast_yy_scan_bytes().
Referenced by ast_expr(), and ast_str_expr().
| void ast_yy_switch_to_buffer | ( | YY_BUFFER_STATE | new_buffer, | 
| yyscan_t | yyscanner | ||
| ) | 
Switch to a different input buffer.
| new_buffer | The new input buffer. | 
| yyscanner | The scanner object. | 
Definition at line 1664 of file ast_expr2f.c.
References ast_yy_load_buffer_state(), ast_yyensure_buffer_stack(), yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, and yyg.
Referenced by ast_yy_scan_buffer().
Definition at line 2351 of file ast_expr2f.c.
References malloc().
Referenced by ast_yy_create_buffer(), ast_yy_scan_buffer(), ast_yy_scan_bytes(), ast_yyensure_buffer_stack(), ast_yylex_init(), and ast_yylex_init_extra().
| 
 | static | 
Definition at line 1873 of file ast_expr2f.c.
References ast_yyalloc(), ast_yyrealloc(), yyguts_t::yy_buffer_stack, yyguts_t::yy_buffer_stack_max, yyguts_t::yy_buffer_stack_top, YY_FATAL_ERROR, and yyg.
Referenced by ast_yy_switch_to_buffer(), ast_yypush_buffer_state(), ast_yyrestart(), and if().
Definition at line 2572 of file ast_expr2f.c.
References ast_log, expr2_token_subst(), extra_error_message, extra_error_message_supplied, free(), LOG_WARNING, parse_io::scanner, parse_io::string, YY_CURRENT_BUFFER_LVALUE, yyg, and yytext.
| void ast_yyfree | ( | void * | ptr, | 
| yyscan_t | yyscanner | ||
| ) | 
Definition at line 2383 of file ast_expr2f.c.
References free().
Referenced by ast_yy_delete_buffer(), and ast_yylex_destroy().
| int ast_yyget_column | ( | yyscan_t | yyscanner | ) | 
Get the current column number.
| yyscanner | The scanner object. | 
Definition at line 2057 of file ast_expr2f.c.
References YY_CURRENT_BUFFER, yycolumn, and yyg.
| int ast_yyget_debug | ( | yyscan_t | yyscanner | ) | 
| YY_EXTRA_TYPE ast_yyget_extra | ( | yyscan_t | yyscanner | ) | 
Get the user-defined data for this scanner.
| yyscanner | The scanner object. | 
Definition at line 2035 of file ast_expr2f.c.
| FILE * ast_yyget_in | ( | yyscan_t | yyscanner | ) | 
| int ast_yyget_leng | ( | yyscan_t | yyscanner | ) | 
| int ast_yyget_lineno | ( | yyscan_t | yyscanner | ) | 
Get the current line number.
| yyscanner | The scanner object. | 
Definition at line 2044 of file ast_expr2f.c.
References YY_CURRENT_BUFFER, yyg, and yylineno.
Definition at line 2188 of file ast_expr2f.c.
Definition at line 2176 of file ast_expr2f.c.
| FILE * ast_yyget_out | ( | yyscan_t | yyscanner | ) | 
Get the output stream.
| yyscanner | The scanner object. | 
Definition at line 2079 of file ast_expr2f.c.
| char * ast_yyget_text | ( | yyscan_t | yyscanner | ) | 
| int ast_yylex_destroy | ( | yyscan_t | yyscanner | ) | 
Definition at line 2298 of file ast_expr2f.c.
References ast_yy_delete_buffer(), ast_yyfree(), ast_yypop_buffer_state(), NULL, yyguts_t::yy_buffer_stack, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yy_init_globals(), yyguts_t::yy_start_stack, and yyg.
Referenced by ast_expr(), and ast_str_expr().
| int ast_yylex_init | ( | yyscan_t * | scanner | ) | 
Definition at line 2207 of file ast_expr2f.c.
References ast_yyalloc(), errno, NULL, and yy_init_globals().
Referenced by ast_expr(), and ast_str_expr().
| int ast_yylex_init_extra | ( | YY_EXTRA_TYPE | user_defined, | 
| yyscan_t * | scanner | ||
| ) | 
Definition at line 2236 of file ast_expr2f.c.
References ast_yyalloc(), ast_yyset_extra(), errno, NULL, and yy_init_globals().
| int ast_yyparse | ( | void * | ) | 
Referenced by ast_expr(), and ast_str_expr().
| void ast_yypop_buffer_state | ( | yyscan_t | yyscanner | ) | 
Removes and deletes the top of the stack, if present. The next element becomes the new top.
| yyscanner | The scanner object. | 
Definition at line 1853 of file ast_expr2f.c.
References ast_yy_delete_buffer(), ast_yy_load_buffer_state(), NULL, yyguts_t::yy_buffer_stack_top, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, and yyg.
Referenced by ast_yylex_destroy().
| void ast_yypush_buffer_state | ( | YY_BUFFER_STATE | new_buffer, | 
| yyscan_t | yyscanner | ||
| ) | 
Pushes the new state onto the stack. The new state becomes the current state. This function will allocate the stack if necessary.
| new_buffer | The new state. | 
| yyscanner | The scanner object. | 
Definition at line 1822 of file ast_expr2f.c.
References ast_yy_load_buffer_state(), ast_yyensure_buffer_stack(), NULL, yyguts_t::yy_buffer_stack_top, yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, and yyg.
Definition at line 2356 of file ast_expr2f.c.
Referenced by ast_yyensure_buffer_stack(), and yy_get_next_buffer().
| void ast_yyrestart | ( | FILE * | input_file, | 
| yyscan_t | yyscanner | ||
| ) | 
Immediately switch to a different input stream.
| input_file | A readable stream. | 
| yyscanner | The scanner object. | 
INITIAL . Definition at line 1646 of file ast_expr2f.c.
References ast_yy_create_buffer(), ast_yy_init_buffer(), ast_yy_load_buffer_state(), ast_yyensure_buffer_stack(), YY_BUF_SIZE, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyg, and yyin.
Referenced by input(), and yy_get_next_buffer().
| void ast_yyset_column | ( | int | column_no, | 
| yyscan_t | yyscanner | ||
| ) | 
Set the current column.
| line_number | |
| yyscanner | The scanner object. | 
Definition at line 2133 of file ast_expr2f.c.
References YY_CURRENT_BUFFER, yy_fatal_error(), yycolumn, and yyg.
| void ast_yyset_debug | ( | int | debug_flag, | 
| yyscan_t | yyscanner | ||
| ) | 
Definition at line 2168 of file ast_expr2f.c.
References yy_flex_debug, and yyg.
| void ast_yyset_extra | ( | YY_EXTRA_TYPE | user_defined, | 
| yyscan_t | yyscanner | ||
| ) | 
Set the user-defined data. This data is never touched by the scanner.
| user_defined | The data to be associated with this scanner. | 
| yyscanner | The scanner object. | 
Definition at line 2108 of file ast_expr2f.c.
Referenced by ast_yylex_init_extra().
| void ast_yyset_in | ( | FILE * | in_str, | 
| yyscan_t | yyscanner | ||
| ) | 
Set the input stream. This does not discard the current input buffer.
| in_str | A readable stream. | 
| yyscanner | The scanner object. | 
Definition at line 2150 of file ast_expr2f.c.
| void ast_yyset_lineno | ( | int | line_number, | 
| yyscan_t | yyscanner | ||
| ) | 
Set the current line number.
| line_number | |
| yyscanner | The scanner object. | 
Definition at line 2118 of file ast_expr2f.c.
References YY_CURRENT_BUFFER, yy_fatal_error(), yyg, and yylineno.
| void ast_yyset_out | ( | FILE * | out_str, | 
| yyscan_t | yyscanner | ||
| ) | 
| 
 | static | 
Definition at line 2528 of file ast_expr2f.c.
References expr2_token_equivs1, expr2_token_equivs2, len(), and malloc().
Referenced by ast_yyerror().
| if | ( | !yyg-> | yy_init | ) | 
Definition at line 854 of file ast_expr2f.c.
References ast_yy_create_buffer(), ast_yy_load_buffer_state(), ast_yyensure_buffer_stack(), YY_BUF_SIZE, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_init, yyguts_t::yy_start, yyg, yyin, and yyout.
Referenced by ast_format_cmp(), ast_sorcery_wizard_unregister(), and dundi_send().
| 
 | static | 
Definition at line 1570 of file ast_expr2f.c.
References ast_yyrestart(), ast_yywrap, c, EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, input(), yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, YY_END_OF_BUFFER_CHAR, yy_get_next_buffer(), yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, YY_NEW_FILE, yyg, and yyin.
| 
 | extern | 
Referenced by ast_get_termcols(), ast_hide_password(), and ast_yy_init_buffer().
| while | ( | 1 | ) | 
Definition at line 880 of file ast_expr2f.c.
References ast_yywrap, BEGIN, c, curlycount, ECHO, EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, INITIAL, SET_COLUMNS, SET_NUMERIC_STRING, SET_STRING, TOK_AND, TOK_COLON, TOK_COLONCOLON, TOK_COMMA, TOK_COMPL, TOK_COND, TOK_DIV, TOK_EQ, TOK_EQTILDE, TOK_GE, TOK_GT, TOK_LE, TOK_LP, TOK_LT, TOK_MINUS, TOK_MOD, TOK_MULT, TOK_NE, TOK_OR, TOK_PLUS, TOK_RP, TOK_TILDETILDE, TOKEN, trail, unput, var, yy_accept, yy_act, yy_base, yy_bp, YY_BREAK, YY_BUFFER_NEW, YY_BUFFER_NORMAL, yyguts_t::yy_c_buf_p, yy_chk, yy_cp, YY_CURRENT_BUFFER_LVALUE, yy_def, yyguts_t::yy_did_buffer_switch_on_eof, YY_DO_BEFORE_ACTION, yy_ec, YY_END_OF_BUFFER, YY_FATAL_ERROR, yy_get_next_buffer(), yy_get_previous_state(), yyguts_t::yy_hold_char, yyguts_t::yy_last_accepting_cpos, yyguts_t::yy_last_accepting_state, yy_meta, YY_MORE_ADJ, yyguts_t::yy_more_flag, yyguts_t::yy_more_len, yyguts_t::yy_n_chars, YY_NEW_FILE, yy_nxt, YY_RESTORE_YY_MORE_OFFSET, YY_RULE_SETUP, YY_SC_TO_UI, YY_START, yyguts_t::yy_start, YY_STATE_EOF, yy_try_NUL_trans(), yyg, yyin, yyleng, yymore, yyterminate, and yytext.
Definition at line 2007 of file ast_expr2f.c.
References YY_EXIT_FAILURE.
Referenced by ast_yyset_column(), and ast_yyset_lineno().
| 
 | static | 
Definition at line 1336 of file ast_expr2f.c.
References ast_yyrealloc(), ast_yyrestart(), b, EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, YY_BUFFER_EOF_PENDING, yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, YY_INPUT, YY_MORE_ADJ, yyguts_t::yy_n_chars, YY_READ_BUF_SIZE, yyg, and yyin.
| 
 | static | 
Definition at line 1471 of file ast_expr2f.c.
References yy_accept, yy_base, yyguts_t::yy_c_buf_p, yy_chk, yy_cp, yy_def, yy_ec, yyguts_t::yy_last_accepting_cpos, yyguts_t::yy_last_accepting_state, yy_meta, YY_MORE_ADJ, yy_nxt, YY_SC_TO_UI, yyguts_t::yy_start, and yyg.
Referenced by while().
| 
 | static | 
Definition at line 2264 of file ast_expr2f.c.
References NULL, yyguts_t::yy_buffer_stack, yyguts_t::yy_buffer_stack_max, yyguts_t::yy_buffer_stack_top, yyguts_t::yy_c_buf_p, yyguts_t::yy_init, yyguts_t::yy_start, yyguts_t::yy_start_stack, yyguts_t::yy_start_stack_depth, yyguts_t::yy_start_stack_ptr, yyg, yyin, and yyout.
Referenced by ast_yylex_destroy(), ast_yylex_init(), and ast_yylex_init_extra().
| 
 | static | 
Definition at line 1504 of file ast_expr2f.c.
References yy_accept, yy_base, yyguts_t::yy_c_buf_p, yy_chk, yy_cp, yy_def, yyguts_t::yy_last_accepting_cpos, yyguts_t::yy_last_accepting_state, yy_meta, yy_nxt, and yyg.
Referenced by while().
| 
 | static | 
Definition at line 1528 of file ast_expr2f.c.
References c, yy_bp, yyguts_t::yy_c_buf_p, yy_cp, YY_CURRENT_BUFFER_LVALUE, YY_FATAL_ERROR, yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, and yyg.
| 
 | static | 
Definition at line 599 of file ast_expr2f.c.
Referenced by while().
| 
 | static | 
Definition at line 2475 of file ast_expr2f.c.
Referenced by expr2_token_subst().
| 
 | static | 
Definition at line 2501 of file ast_expr2f.c.
Referenced by expr2_token_subst().
| char extra_error_message[4095] | 
Definition at line 2458 of file ast_expr2f.c.
Referenced by ast_expr_clear_extra_error_info(), ast_expr_register_extra_error_info(), and ast_yyerror().
| int extra_error_message_supplied = 0 | 
Definition at line 2459 of file ast_expr2f.c.
Referenced by ast_expr_clear_extra_error_info(), ast_expr_register_extra_error_info(), ast_yyerror(), op_div(), op_minus(), op_negate(), op_plus(), op_rem(), and op_times().
| 
 | static | 
Definition at line 365 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), and yy_try_NUL_trans().
| register int yy_act | 
Definition at line 842 of file ast_expr2f.c.
Referenced by while().
| 
 | static | 
Definition at line 415 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), and yy_try_NUL_trans().
| register char * yy_bp | 
Definition at line 841 of file ast_expr2f.c.
| 
 | static | 
Definition at line 458 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), and yy_try_NUL_trans().
| register char* yy_cp | 
Definition at line 841 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), yy_try_NUL_trans(), and yyunput().
| YY_DECL | 
The main scanner function which does all the work.
Definition at line 838 of file ast_expr2f.c.
| 
 | static | 
Definition at line 426 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), and yy_try_NUL_trans().
| 
 | static | 
Definition at line 376 of file ast_expr2f.c.
Referenced by while(), and yy_get_previous_state().
| 
 | static | 
Definition at line 408 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), and yy_try_NUL_trans().
| 
 | static | 
Definition at line 437 of file ast_expr2f.c.
Referenced by while(), yy_get_previous_state(), and yy_try_NUL_trans().
Definition at line 843 of file ast_expr2f.c.
Referenced by ast_yy_delete_buffer(), ast_yy_flush_buffer(), ast_yy_init_buffer(), ast_yy_load_buffer_state(), ast_yy_switch_to_buffer(), ast_yyensure_buffer_stack(), ast_yyerror(), ast_yyget_column(), ast_yyget_debug(), ast_yyget_extra(), ast_yyget_in(), ast_yyget_leng(), ast_yyget_lineno(), ast_yyget_lloc(), ast_yyget_lval(), ast_yyget_out(), ast_yyget_text(), ast_yylex_destroy(), ast_yypop_buffer_state(), ast_yypush_buffer_state(), ast_yyrestart(), ast_yyset_column(), ast_yyset_debug(), ast_yyset_extra(), ast_yyset_in(), ast_yyset_lineno(), ast_yyset_lloc(), ast_yyset_lval(), ast_yyset_out(), if(), input(), while(), yy_get_next_buffer(), yy_get_previous_state(), yy_init_globals(), yy_try_NUL_trans(), and yyunput().
| yylloc = yylloc_param | 
Definition at line 852 of file ast_expr2f.c.
| yylval = yylval_param | 
Definition at line 850 of file ast_expr2f.c.