=|,|[ ] { 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 */
"--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; }
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;
}