diff --git a/cfg.lex b/cfg.lex index 472dfd0d609..3eb79dca9e2 100644 --- a/cfg.lex +++ b/cfg.lex @@ -117,6 +117,7 @@ #define IFDEF_EOL_S 14 #define IFDEF_SKIP_S 15 #define DEFINE_DATA_S 16 + #define EVRT_NAME_S 17 #define STR_BUF_ALLOC_UNIT 128 struct str_buf{ @@ -181,7 +182,7 @@ /* start conditions */ %x STRING1 STRING2 STR_BETWEEN COMMENT COMMENT_LN ATTR SELECT AVP_PVAR PVAR_P -%x PVARID INCLF IMPTF +%x PVARID INCLF IMPTF EVRTNAME %x LINECOMMENT DEFINE_ID DEFINE_EOL DEFINE_DATA IFDEF_ID IFDEF_EOL IFDEF_SKIP /* config script types : #!SER or #!KAMAILIO or #!MAX_COMPAT */ @@ -619,7 +620,19 @@ IMPORTFILE "import_file" {ROUTE_SEND} { count(); default_routename="DEFAULT_SEND"; yylval.strval=yytext; return ROUTE_SEND; } {ROUTE_EVENT} { count(); default_routename="DEFAULT_EVENT"; - yylval.strval=yytext; return ROUTE_EVENT; } + yylval.strval=yytext; + state=EVRT_NAME_S; BEGIN(EVRTNAME); + return ROUTE_EVENT; } +{LBRACK} { count(); return LBRACK; } +{EAT_ABLE}|{CR} { count(); }; +{EVENT_RT_NAME} { count(); + addstr(&s_buf, yytext, yyleng); + yylval.strval=s_buf.s; + memset(&s_buf, 0, sizeof(s_buf)); + return EVENT_RT_NAME; } +{RBRACK} { count(); + state=INITIAL_S; BEGIN(INITIAL); + return RBRACK; } {EXEC} { count(); yylval.strval=yytext; return EXEC; } {SET_HOST} { count(); yylval.strval=yytext; return SET_HOST; } {SET_HOSTPORT} { count(); yylval.strval=yytext; return SET_HOSTPORT; } @@ -1150,11 +1163,6 @@ IMPORTFILE "import_file" {DOT} { count(); return DOT; } \\{CR} {count(); } /* eat the escaped CR */ {CR} { count();/* return CR;*/ } -{EVENT_RT_NAME} { count(); - addstr(&s_buf, yytext, yyleng); - yylval.strval=s_buf.s; - memset(&s_buf, 0, sizeof(s_buf)); - return EVENT_RT_NAME; } {QUOTES} { count(); old_initial = YY_START;