Adding additional tests for namespace.
[awesomized/libmemcached] / libmemcached / options / scanner.l
index 10d524c2f32dc235a4e0261165a35d11b5185891..cc00618d786a059e73da65c16e69711c4f860fac 100644 (file)
@@ -23,7 +23,6 @@
 #include <libmemcached/common.h>
 #include <libmemcached/options/context.h>
 #include <libmemcached/options/parser.h>
-#include <libmemcached/options/string.h>
 #include <libmemcached/options/symbol.h>
 
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 
 =|,|[ ]       { 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 */
 
@@ -92,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; }
@@ -161,7 +162,7 @@ JENKINS                     { return JENKINS; }
       yylval->server.weight= 1;
       yylval->server.c_str= yyextra->set_hostname(yytext, yyleng);
       if (yylval->server.c_str)
-        yylval->server.length= yyleng;
+        yylval->server.size= yyleng;
       return IPADDRESS;
     }
 
@@ -172,20 +173,21 @@ JENKINS                   { return JENKINS; }
         yylval->server.weight= 1;
         yylval->server.c_str= yyextra->set_hostname(yytext, yyleng);
         if (yylval->server.c_str)
-          yylval->server.length= yyleng;
+          yylval->server.size= yyleng;
 
         return HOSTNAME;
       }
 
       yylval->string.c_str = yytext;
-      yylval->string.length = yyleng;
+      yylval->string.size = yyleng;
 
       return STRING;
     }
 
-(\".*\") {
-      yylval->string.c_str = yytext;
-      yylval->string.length = yyleng;
+L?\"(\\.|[^\\"])*\" {
+      yyget_text(yyscanner)[yyleng -1]= 0;
+      yylval->string.c_str= yytext +1;
+      yylval->string.size= yyleng -2;
       return QUOTED_STRING;
     }