X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Foptions%2Fscanner.l;h=cc00618d786a059e73da65c16e69711c4f860fac;hb=12a07e58df95bb8dbe167e4157b29c910177ade8;hp=694be4b3ddd56791270d6b24ecf21ba26d6e158c;hpb=08cb9372fc4a1c660aeac3a89c5fe066538e8624;p=awesomized%2Flibmemcached diff --git a/libmemcached/options/scanner.l b/libmemcached/options/scanner.l index 694be4b3..cc00618d 100644 --- a/libmemcached/options/scanner.l +++ b/libmemcached/options/scanner.l @@ -76,11 +76,11 @@ =|,|[ ] { return yytext[0];} -[[:digit:]]+ { yylval->number = atoi(yytext); return (NUMBER); } +[[:digit:]]+ { yylval->number= atoi(yytext); return (NUMBER); } -:[[:digit:]]{1,5} { yylval->server.port = atoi(yytext +1); return PORT; } +:[[:digit:]]{1,5} { yylval->number= atoi(yytext +1); return PORT; } -"/?"[[:digit:]]{1,5} { yylval->server.weight = atoi(yytext +2); return WEIGHT_START; } +"/?"[[:digit:]]{1,5} { yylval->number= atoi(yytext +2); return WEIGHT_START; } [\t\r\n] ; /* skip whitespace */ @@ -91,6 +91,8 @@ "--SERVER=" { yyextra->begin= yytext; yyextra->set_server(); return SERVER; } +"--SOCKET=" { yyextra->begin= yytext; return SOCKET; } + "--BINARY-PROTOCOL" { yyextra->begin= yytext; return BINARY_PROTOCOL; } "--BUFFER-REQUESTS" { yyextra->begin= yytext; return BUFFER_REQUESTS; } "--CONFIGURE-FILE=" { yyextra->begin= yytext; return CONFIGURE_FILE; } @@ -182,9 +184,10 @@ JENKINS { return JENKINS; } return STRING; } -(\".*\") { - yylval->string.c_str = yytext; - yylval->string.size = yyleng; +L?\"(\\.|[^\\"])*\" { + yyget_text(yyscanner)[yyleng -1]= 0; + yylval->string.c_str= yytext +1; + yylval->string.size= yyleng -2; return QUOTED_STRING; }