Update for --socket option
[m6w6/libmemcached] / libmemcached / options / scanner.l
index b501ffe562989605f09e1616645f2c5b562589c3..80f1c8d8351c29601c8e5684637076b2239d2a30 100644 (file)
 
 %top{
 
-#pragma GCC diagnostic ignored "-Wold-style-cast"
-#pragma GCC diagnostic ignored "-Wsign-compare"
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-
+#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"
+#pragma GCC diagnostic ignored "-Wsign-compare"
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+
 #define YY_EXTRA_TYPE Context*
 
 }
 
 =|,|[ ]       { 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; }
@@ -160,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;
     }
 
@@ -171,20 +173,20 @@ 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;
+      yylval->string.size = yyleng;
       return QUOTED_STRING;
     }