Fix problem where hostname would end up with trailing . and be accepted as
[m6w6/libmemcached] / libmemcached / options / scanner.l
index 2a45455ccd1b1c01f0c28427d9bd5ea66083d840..124900cf75cd5f95576bccdcbf751b7b7ae92249 100644 (file)
@@ -90,7 +90,7 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont
     }
 
 "--SERVER"                          { yyextra->begin= yytext; return SERVER; }
-"--SERVERS"                        { yyextra->begin= yytext; return SERVERS; }
+"--SERVERS"                        { yyextra->begin= yytext; return SERVERS_OPTION; }
 
 "--VERIFY_KEY"                      { yyextra->begin= yytext; return VERIFY_KEY; }
 "--VERIFY-KEY"                      { yyextra->begin= yytext; return VERIFY_KEY; }
@@ -159,6 +159,16 @@ static void get_lex_chars(char* buffer, int& result, int max_size, Context *cont
 "--PREFIX-KEY"                         { yyextra->begin= yytext; return PREFIX_KEY; }
 "--PREFIX_KEY"                         { yyextra->begin= yytext; return PREFIX_KEY; }
 
+INCLUDE           { yyextra->begin= yytext; std::cerr << "Found INCLUDE" << std::endl; return INCLUDE; }
+RESET           { yyextra->begin= yytext; return RESET; }
+DEBUG           { yyextra->begin= yytext; return DEBUG; }
+SERVERS           { yyextra->begin= yytext; return SERVERS; }
+END           { yyextra->begin= yytext; return END; }
+
+TRUE           { return TRUE; }
+FALSE           { return FALSE; }
+
+
 "--"[[:alnum:]]*   {
       yyextra->begin= yytext;
       return UNKNOWN_OPTION;
@@ -184,7 +194,7 @@ JENKINS                     { return JENKINS; }
       return HOSTNAME_WITH_PORT;
     }
 
-[[:alnum:]]+"."[[:alpha:].]+ { 
+[[:alnum:]]+"."[[:alpha:].]+[[:alnum:]] { 
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return HOSTNAME;