Fix need for permissive.-------------- This line and the following will be ignored...
authorBrian Aker <brian@gir-3.local>
Mon, 28 Mar 2011 18:14:29 +0000 (11:14 -0700)
committerBrian Aker <brian@gir-3.local>
Mon, 28 Mar 2011 18:14:29 +0000 (11:14 -0700)
modified:
  libmemcached/options/parser.cc
  libmemcached/options/parser.yy
  libmemcached/options/scanner.cc
  libmemcached/options/scanner.h
  libmemcached/options/scanner.l

libmemcached/options/parser.cc
libmemcached/options/parser.yy
libmemcached/options/scanner.cc
libmemcached/options/scanner.h
libmemcached/options/scanner.l

index a01e6c7f50044da3dc1556d11a25c307d991891c..8b7134a9cdb18e12793811db2f2acb4e38795b24 100644 (file)
@@ -102,17 +102,10 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error)
     parser::abort_func(context, error);
 }
 
-int config_parse(Context*, yyscan_t *);
-
-void Context::start() 
-{
-  config_parse(this, scanner);
-}
-
 
 
 /* Line 189 of yacc.c  */
-#line 116 "libmemcached/options/parser.cc"
+#line 109 "libmemcached/options/parser.cc"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -223,7 +216,7 @@ void Context::start()
 
 
 /* Line 264 of yacc.c  */
-#line 227 "libmemcached/options/parser.cc"
+#line 220 "libmemcached/options/parser.cc"
 
 #ifdef short
 # undef short
@@ -533,14 +526,14 @@ static const yytype_int8 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   164,   164,   165,   169,   171,   173,   175,   180,   185,
-     189,   193,   204,   211,   214,   218,   222,   229,   236,   247,
-     254,   261,   268,   274,   278,   282,   286,   290,   294,   298,
-     302,   306,   310,   314,   318,   325,   329,   333,   337,   341,
-     345,   349,   353,   357,   361,   365,   369,   373,   377,   381,
-     388,   395,   405,   411,   417,   423,   429,   438,   442,   446,
-     450,   454,   458,   462,   466,   470,   477,   481,   489,   493,
-     497
+       0,   157,   157,   158,   162,   164,   166,   168,   173,   178,
+     182,   186,   197,   204,   207,   211,   215,   222,   229,   240,
+     247,   254,   261,   267,   271,   275,   279,   283,   287,   291,
+     295,   299,   303,   307,   311,   318,   322,   326,   330,   334,
+     338,   342,   346,   350,   354,   358,   362,   366,   370,   374,
+     381,   388,   398,   404,   410,   416,   422,   431,   435,   439,
+     443,   447,   451,   455,   459,   463,   470,   474,   482,   486,
+     490
 };
 #endif
 
@@ -1535,28 +1528,28 @@ yyreduce:
         case 4:
 
 /* Line 1464 of yacc.c  */
-#line 170 "libmemcached/options/parser.yy"
+#line 163 "libmemcached/options/parser.yy"
     { ;}
     break;
 
   case 5:
 
 /* Line 1464 of yacc.c  */
-#line 172 "libmemcached/options/parser.yy"
+#line 165 "libmemcached/options/parser.yy"
     { ;}
     break;
 
   case 6:
 
 /* Line 1464 of yacc.c  */
-#line 174 "libmemcached/options/parser.yy"
+#line 167 "libmemcached/options/parser.yy"
     { ;}
     break;
 
   case 7:
 
 /* Line 1464 of yacc.c  */
-#line 176 "libmemcached/options/parser.yy"
+#line 169 "libmemcached/options/parser.yy"
     {
             context->set_end();
             YYACCEPT;
@@ -1566,7 +1559,7 @@ yyreduce:
   case 8:
 
 /* Line 1464 of yacc.c  */
-#line 181 "libmemcached/options/parser.yy"
+#line 174 "libmemcached/options/parser.yy"
     {
             context->rc= MEMCACHED_PARSE_USER_ERROR;
             parser_abort(context, NULL);
@@ -1576,7 +1569,7 @@ yyreduce:
   case 9:
 
 /* Line 1464 of yacc.c  */
-#line 186 "libmemcached/options/parser.yy"
+#line 179 "libmemcached/options/parser.yy"
     {
             memcached_reset(context->memc);
           ;}
@@ -1585,7 +1578,7 @@ yyreduce:
   case 10:
 
 /* Line 1464 of yacc.c  */
-#line 190 "libmemcached/options/parser.yy"
+#line 183 "libmemcached/options/parser.yy"
     {
             yydebug= 1;
           ;}
@@ -1594,7 +1587,7 @@ yyreduce:
   case 11:
 
 /* Line 1464 of yacc.c  */
-#line 194 "libmemcached/options/parser.yy"
+#line 187 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_parse_configure_file(context->memc, (yyvsp[(3) - (3)].string).c_str, (yyvsp[(3) - (3)].string).length)) != MEMCACHED_SUCCESS)
             {
@@ -1606,7 +1599,7 @@ yyreduce:
   case 12:
 
 /* Line 1464 of yacc.c  */
-#line 205 "libmemcached/options/parser.yy"
+#line 198 "libmemcached/options/parser.yy"
     { 
             if ((context->rc= memcached_server_add_parsed(context->memc, (yyvsp[(2) - (2)].server).c_str, (yyvsp[(2) - (2)].server).length, (yyvsp[(2) - (2)].server).port, 0)) != MEMCACHED_SUCCESS)
             {
@@ -1618,7 +1611,7 @@ yyreduce:
   case 13:
 
 /* Line 1464 of yacc.c  */
-#line 212 "libmemcached/options/parser.yy"
+#line 205 "libmemcached/options/parser.yy"
     {
           ;}
     break;
@@ -1626,7 +1619,7 @@ yyreduce:
   case 14:
 
 /* Line 1464 of yacc.c  */
-#line 215 "libmemcached/options/parser.yy"
+#line 208 "libmemcached/options/parser.yy"
     {
             memcached_set_configuration_file(context->memc, (yyvsp[(2) - (2)].string).c_str, (yyvsp[(2) - (2)].string).length);
           ;}
@@ -1635,7 +1628,7 @@ yyreduce:
   case 16:
 
 /* Line 1464 of yacc.c  */
-#line 223 "libmemcached/options/parser.yy"
+#line 216 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_set_prefix_key(context->memc, (yyvsp[(2) - (2)].string).c_str, (yyvsp[(2) - (2)].string).length)) != MEMCACHED_SUCCESS)
             {
@@ -1647,7 +1640,7 @@ yyreduce:
   case 17:
 
 /* Line 1464 of yacc.c  */
-#line 230 "libmemcached/options/parser.yy"
+#line 223 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_behavior_set(context->memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, (yyvsp[(2) - (2)].distribution))) != MEMCACHED_SUCCESS)
             {
@@ -1659,7 +1652,7 @@ yyreduce:
   case 18:
 
 /* Line 1464 of yacc.c  */
-#line 237 "libmemcached/options/parser.yy"
+#line 230 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_behavior_set(context->memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, (yyvsp[(2) - (4)].distribution))) != MEMCACHED_SUCCESS)
             {
@@ -1675,7 +1668,7 @@ yyreduce:
   case 19:
 
 /* Line 1464 of yacc.c  */
-#line 248 "libmemcached/options/parser.yy"
+#line 241 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_behavior_set(context->memc, MEMCACHED_BEHAVIOR_HASH, (yyvsp[(2) - (2)].hash))) != MEMCACHED_SUCCESS)
             {
@@ -1687,7 +1680,7 @@ yyreduce:
   case 20:
 
 /* Line 1464 of yacc.c  */
-#line 255 "libmemcached/options/parser.yy"
+#line 248 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_behavior_set(context->memc, (yyvsp[(1) - (2)].behavior), (yyvsp[(2) - (2)].number))) != MEMCACHED_SUCCESS)
             {
@@ -1699,7 +1692,7 @@ yyreduce:
   case 21:
 
 /* Line 1464 of yacc.c  */
-#line 262 "libmemcached/options/parser.yy"
+#line 255 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_behavior_set(context->memc, (yyvsp[(1) - (1)].behavior), true)) != MEMCACHED_SUCCESS)
             {
@@ -1711,7 +1704,7 @@ yyreduce:
   case 22:
 
 /* Line 1464 of yacc.c  */
-#line 269 "libmemcached/options/parser.yy"
+#line 262 "libmemcached/options/parser.yy"
     {
           ;}
     break;
@@ -1719,7 +1712,7 @@ yyreduce:
   case 23:
 
 /* Line 1464 of yacc.c  */
-#line 275 "libmemcached/options/parser.yy"
+#line 268 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT;
           ;}
@@ -1728,7 +1721,7 @@ yyreduce:
   case 24:
 
 /* Line 1464 of yacc.c  */
-#line 279 "libmemcached/options/parser.yy"
+#line 272 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK;
           ;}
@@ -1737,7 +1730,7 @@ yyreduce:
   case 25:
 
 /* Line 1464 of yacc.c  */
-#line 283 "libmemcached/options/parser.yy"
+#line 276 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK;
           ;}
@@ -1746,7 +1739,7 @@ yyreduce:
   case 26:
 
 /* Line 1464 of yacc.c  */
-#line 287 "libmemcached/options/parser.yy"
+#line 280 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH;
           ;}
@@ -1755,7 +1748,7 @@ yyreduce:
   case 27:
 
 /* Line 1464 of yacc.c  */
-#line 291 "libmemcached/options/parser.yy"
+#line 284 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS;
           ;}
@@ -1764,7 +1757,7 @@ yyreduce:
   case 28:
 
 /* Line 1464 of yacc.c  */
-#line 295 "libmemcached/options/parser.yy"
+#line 288 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_POLL_TIMEOUT;
           ;}
@@ -1773,7 +1766,7 @@ yyreduce:
   case 29:
 
 /* Line 1464 of yacc.c  */
-#line 299 "libmemcached/options/parser.yy"
+#line 292 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_RCV_TIMEOUT;
           ;}
@@ -1782,7 +1775,7 @@ yyreduce:
   case 30:
 
 /* Line 1464 of yacc.c  */
-#line 303 "libmemcached/options/parser.yy"
+#line 296 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_RETRY_TIMEOUT;
           ;}
@@ -1791,7 +1784,7 @@ yyreduce:
   case 31:
 
 /* Line 1464 of yacc.c  */
-#line 307 "libmemcached/options/parser.yy"
+#line 300 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT;
           ;}
@@ -1800,7 +1793,7 @@ yyreduce:
   case 32:
 
 /* Line 1464 of yacc.c  */
-#line 311 "libmemcached/options/parser.yy"
+#line 304 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_SND_TIMEOUT;
           ;}
@@ -1809,7 +1802,7 @@ yyreduce:
   case 33:
 
 /* Line 1464 of yacc.c  */
-#line 315 "libmemcached/options/parser.yy"
+#line 308 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE;
           ;}
@@ -1818,7 +1811,7 @@ yyreduce:
   case 34:
 
 /* Line 1464 of yacc.c  */
-#line 319 "libmemcached/options/parser.yy"
+#line 312 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE;
           ;}
@@ -1827,7 +1820,7 @@ yyreduce:
   case 35:
 
 /* Line 1464 of yacc.c  */
-#line 326 "libmemcached/options/parser.yy"
+#line 319 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS;
           ;}
@@ -1836,7 +1829,7 @@ yyreduce:
   case 36:
 
 /* Line 1464 of yacc.c  */
-#line 330 "libmemcached/options/parser.yy"
+#line 323 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_BINARY_PROTOCOL;
           ;}
@@ -1845,7 +1838,7 @@ yyreduce:
   case 37:
 
 /* Line 1464 of yacc.c  */
-#line 334 "libmemcached/options/parser.yy"
+#line 327 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_BUFFER_REQUESTS;
           ;}
@@ -1854,7 +1847,7 @@ yyreduce:
   case 38:
 
 /* Line 1464 of yacc.c  */
-#line 338 "libmemcached/options/parser.yy"
+#line 331 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_CACHE_LOOKUPS;
           ;}
@@ -1863,7 +1856,7 @@ yyreduce:
   case 39:
 
 /* Line 1464 of yacc.c  */
-#line 342 "libmemcached/options/parser.yy"
+#line 335 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY;
           ;}
@@ -1872,7 +1865,7 @@ yyreduce:
   case 40:
 
 /* Line 1464 of yacc.c  */
-#line 346 "libmemcached/options/parser.yy"
+#line 339 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED;
           ;}
@@ -1881,7 +1874,7 @@ yyreduce:
   case 41:
 
 /* Line 1464 of yacc.c  */
-#line 350 "libmemcached/options/parser.yy"
+#line 343 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_NOREPLY;
           ;}
@@ -1890,7 +1883,7 @@ yyreduce:
   case 42:
 
 /* Line 1464 of yacc.c  */
-#line 354 "libmemcached/options/parser.yy"
+#line 347 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_RANDOMIZE_REPLICA_READ;
           ;}
@@ -1899,7 +1892,7 @@ yyreduce:
   case 43:
 
 /* Line 1464 of yacc.c  */
-#line 358 "libmemcached/options/parser.yy"
+#line 351 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_SORT_HOSTS;
           ;}
@@ -1908,7 +1901,7 @@ yyreduce:
   case 44:
 
 /* Line 1464 of yacc.c  */
-#line 362 "libmemcached/options/parser.yy"
+#line 355 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_SUPPORT_CAS;
           ;}
@@ -1917,7 +1910,7 @@ yyreduce:
   case 45:
 
 /* Line 1464 of yacc.c  */
-#line 366 "libmemcached/options/parser.yy"
+#line 359 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_TCP_NODELAY;
           ;}
@@ -1926,7 +1919,7 @@ yyreduce:
   case 46:
 
 /* Line 1464 of yacc.c  */
-#line 370 "libmemcached/options/parser.yy"
+#line 363 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_TCP_KEEPALIVE;
           ;}
@@ -1935,7 +1928,7 @@ yyreduce:
   case 47:
 
 /* Line 1464 of yacc.c  */
-#line 374 "libmemcached/options/parser.yy"
+#line 367 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_TCP_KEEPIDLE;
           ;}
@@ -1944,7 +1937,7 @@ yyreduce:
   case 48:
 
 /* Line 1464 of yacc.c  */
-#line 378 "libmemcached/options/parser.yy"
+#line 371 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_USE_UDP;
           ;}
@@ -1953,7 +1946,7 @@ yyreduce:
   case 49:
 
 /* Line 1464 of yacc.c  */
-#line 382 "libmemcached/options/parser.yy"
+#line 375 "libmemcached/options/parser.yy"
     {
             (yyval.behavior)= MEMCACHED_BEHAVIOR_VERIFY_KEY;
           ;}
@@ -1962,7 +1955,7 @@ yyreduce:
   case 50:
 
 /* Line 1464 of yacc.c  */
-#line 389 "libmemcached/options/parser.yy"
+#line 382 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_server_add_parsed(context->memc, (yyvsp[(1) - (1)].server).c_str, (yyvsp[(1) - (1)].server).length, (yyvsp[(1) - (1)].server).port, 0)) != MEMCACHED_SUCCESS)
             {
@@ -1974,7 +1967,7 @@ yyreduce:
   case 51:
 
 /* Line 1464 of yacc.c  */
-#line 396 "libmemcached/options/parser.yy"
+#line 389 "libmemcached/options/parser.yy"
     {
             if ((context->rc= memcached_server_add_parsed(context->memc, (yyvsp[(3) - (3)].server).c_str, (yyvsp[(3) - (3)].server).length, (yyvsp[(3) - (3)].server).port, 0)) != MEMCACHED_SUCCESS)
             {
@@ -1986,7 +1979,7 @@ yyreduce:
   case 52:
 
 /* Line 1464 of yacc.c  */
-#line 406 "libmemcached/options/parser.yy"
+#line 399 "libmemcached/options/parser.yy"
     {
             (yyval.server).c_str= (yyvsp[(1) - (2)].string).c_str;
             (yyval.server).length= (yyvsp[(1) - (2)].string).length -1; // -1 to remove :
@@ -1997,7 +1990,7 @@ yyreduce:
   case 53:
 
 /* Line 1464 of yacc.c  */
-#line 412 "libmemcached/options/parser.yy"
+#line 405 "libmemcached/options/parser.yy"
     {
             (yyval.server).c_str= (yyvsp[(1) - (1)].string).c_str;
             (yyval.server).length= (yyvsp[(1) - (1)].string).length;
@@ -2008,7 +2001,7 @@ yyreduce:
   case 54:
 
 /* Line 1464 of yacc.c  */
-#line 418 "libmemcached/options/parser.yy"
+#line 411 "libmemcached/options/parser.yy"
     {
             (yyval.server).c_str= (yyvsp[(1) - (1)].string).c_str;
             (yyval.server).length= (yyvsp[(1) - (1)].string).length;
@@ -2019,7 +2012,7 @@ yyreduce:
   case 55:
 
 /* Line 1464 of yacc.c  */
-#line 424 "libmemcached/options/parser.yy"
+#line 417 "libmemcached/options/parser.yy"
     {
             (yyval.server).c_str= (yyvsp[(1) - (2)].string).c_str;
             (yyval.server).length= (yyvsp[(1) - (2)].string).length -1; // -1 to remove :
@@ -2030,7 +2023,7 @@ yyreduce:
   case 56:
 
 /* Line 1464 of yacc.c  */
-#line 430 "libmemcached/options/parser.yy"
+#line 423 "libmemcached/options/parser.yy"
     {
             (yyval.server).c_str= (yyvsp[(1) - (1)].string).c_str;
             (yyval.server).length= (yyvsp[(1) - (1)].string).length;
@@ -2041,7 +2034,7 @@ yyreduce:
   case 57:
 
 /* Line 1464 of yacc.c  */
-#line 439 "libmemcached/options/parser.yy"
+#line 432 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_MD5;
           ;}
@@ -2050,7 +2043,7 @@ yyreduce:
   case 58:
 
 /* Line 1464 of yacc.c  */
-#line 443 "libmemcached/options/parser.yy"
+#line 436 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_CRC;
           ;}
@@ -2059,7 +2052,7 @@ yyreduce:
   case 59:
 
 /* Line 1464 of yacc.c  */
-#line 447 "libmemcached/options/parser.yy"
+#line 440 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_FNV1_64;
           ;}
@@ -2068,7 +2061,7 @@ yyreduce:
   case 60:
 
 /* Line 1464 of yacc.c  */
-#line 451 "libmemcached/options/parser.yy"
+#line 444 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_FNV1A_64;
           ;}
@@ -2077,7 +2070,7 @@ yyreduce:
   case 61:
 
 /* Line 1464 of yacc.c  */
-#line 455 "libmemcached/options/parser.yy"
+#line 448 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_FNV1_32;
           ;}
@@ -2086,7 +2079,7 @@ yyreduce:
   case 62:
 
 /* Line 1464 of yacc.c  */
-#line 459 "libmemcached/options/parser.yy"
+#line 452 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_FNV1A_32;
           ;}
@@ -2095,7 +2088,7 @@ yyreduce:
   case 63:
 
 /* Line 1464 of yacc.c  */
-#line 463 "libmemcached/options/parser.yy"
+#line 456 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_HSIEH;
           ;}
@@ -2104,7 +2097,7 @@ yyreduce:
   case 64:
 
 /* Line 1464 of yacc.c  */
-#line 467 "libmemcached/options/parser.yy"
+#line 460 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_MURMUR;
           ;}
@@ -2113,7 +2106,7 @@ yyreduce:
   case 65:
 
 /* Line 1464 of yacc.c  */
-#line 471 "libmemcached/options/parser.yy"
+#line 464 "libmemcached/options/parser.yy"
     {
             (yyval.hash)= MEMCACHED_HASH_JENKINS;
           ;}
@@ -2122,7 +2115,7 @@ yyreduce:
   case 66:
 
 /* Line 1464 of yacc.c  */
-#line 478 "libmemcached/options/parser.yy"
+#line 471 "libmemcached/options/parser.yy"
     {
             (yyval.string)= (yyvsp[(1) - (1)].string);
           ;}
@@ -2131,7 +2124,7 @@ yyreduce:
   case 67:
 
 /* Line 1464 of yacc.c  */
-#line 482 "libmemcached/options/parser.yy"
+#line 475 "libmemcached/options/parser.yy"
     {
             (yyval.string).c_str= (yyvsp[(1) - (1)].string).c_str +1; // +1 to move use passed the initial quote
             (yyval.string).length= (yyvsp[(1) - (1)].string).length -1; // -1 removes the end quote
@@ -2141,7 +2134,7 @@ yyreduce:
   case 68:
 
 /* Line 1464 of yacc.c  */
-#line 490 "libmemcached/options/parser.yy"
+#line 483 "libmemcached/options/parser.yy"
     {
             (yyval.distribution)= MEMCACHED_DISTRIBUTION_CONSISTENT;
           ;}
@@ -2150,7 +2143,7 @@ yyreduce:
   case 69:
 
 /* Line 1464 of yacc.c  */
-#line 494 "libmemcached/options/parser.yy"
+#line 487 "libmemcached/options/parser.yy"
     {
             (yyval.distribution)= MEMCACHED_DISTRIBUTION_MODULA;
           ;}
@@ -2159,7 +2152,7 @@ yyreduce:
   case 70:
 
 /* Line 1464 of yacc.c  */
-#line 498 "libmemcached/options/parser.yy"
+#line 491 "libmemcached/options/parser.yy"
     {
             (yyval.distribution)= MEMCACHED_DISTRIBUTION_RANDOM;
           ;}
@@ -2168,7 +2161,7 @@ yyreduce:
 
 
 /* Line 1464 of yacc.c  */
-#line 2172 "libmemcached/options/parser.cc"
+#line 2165 "libmemcached/options/parser.cc"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2379,3 +2372,13 @@ yyreturn:
 
 
 
+/* Line 1684 of yacc.c  */
+#line 496 "libmemcached/options/parser.yy"
+
+void Context::start() 
+{
+  config_parse(this, (void **)scanner);
+}
+
+
index 6aa477920ce5259444af0c33ece6eb5164a6e64f..db311402b45c7795908d6b447c11d0cdd6417e43 100644 (file)
@@ -59,13 +59,6 @@ inline void config_error(Context *context, yyscan_t *scanner, const char *error)
     parser::abort_func(context, error);
 }
 
-int config_parse(Context*, yyscan_t *);
-
-void Context::start() 
-{
-  config_parse(this, scanner);
-}
-
 %}
 
 %token COMMENT
@@ -499,3 +492,11 @@ distribution:
             $$= MEMCACHED_DISTRIBUTION_RANDOM;
           }
         ;
+
+%% 
+
+void Context::start() 
+{
+  config_parse(this, (void **)scanner);
+}
+
index 746799b2a8c24205a2ac5a30981bc4596c3ff466..8b5aa8e3f10767a108fc2823cd9a9c4d64886f9f 100644 (file)
@@ -3,7 +3,6 @@
 
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 #pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-fpermissive"
 
 #include <libmemcached/options/context.h>
 #include <libmemcached/options/parser.h>
@@ -15,7 +14,7 @@
 
 
 
-#line 19 "libmemcached/options/scanner.cc"
+#line 18 "libmemcached/options/scanner.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -227,6 +226,11 @@ typedef void* yyscan_t;
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
 #endif
 
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
 /* %if-not-reentrant */
 /* %endif */
 
@@ -257,11 +261,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
 
 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
 
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
@@ -284,7 +283,7 @@ struct yy_buffer_state
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       int yy_n_chars;
+       yy_size_t yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -381,7 +380,7 @@ static void config__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanne
 
 YY_BUFFER_STATE config__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
 YY_BUFFER_STATE config__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
-YY_BUFFER_STATE config__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
+YY_BUFFER_STATE config__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
 
 /* %endif */
 
@@ -1293,16 +1292,16 @@ static yyconst flex_int16_t yy_chk[2274] =
 
 static yyconst flex_int16_t yy_rule_linenum[96] =
     {   0,
-       77,   80,   82,   84,   88,   89,   91,   92,   93,   94,
-       95,   96,   97,   98,   99,  100,  101,  102,  103,  104,
-      105,  106,  107,  108,  109,  110,  111,  112,  113,  114,
-      115,  116,  117,  118,  119,  120,  121,  122,  123,  124,
-      125,  126,  127,  128,  129,  130,  131,  132,  133,  134,
-      135,  136,  137,  138,  139,  140,  141,  142,  143,  144,
-      145,  146,  147,  148,  149,  151,  152,  154,  155,  156,
-      157,  158,  159,  161,  162,  165,  170,  171,  172,  174,
-      175,  176,  177,  178,  179,  180,  181,  182,  184,  190,
-      196,  202,  208,  214,  220
+       76,   79,   81,   83,   87,   88,   90,   91,   92,   93,
+       94,   95,   96,   97,   98,   99,  100,  101,  102,  103,
+      104,  105,  106,  107,  108,  109,  110,  111,  112,  113,
+      114,  115,  116,  117,  118,  119,  120,  121,  122,  123,
+      124,  125,  126,  127,  128,  129,  130,  131,  132,  133,
+      134,  135,  136,  137,  138,  139,  140,  141,  142,  143,
+      144,  145,  146,  147,  148,  150,  151,  153,  154,  155,
+      156,  157,  158,  160,  161,  164,  169,  170,  171,  173,
+      174,  175,  176,  177,  178,  179,  180,  181,  183,  189,
+      195,  201,  207,  213,  219
 
     } ;
 
@@ -1319,46 +1318,46 @@ static yyconst flex_int16_t yy_rule_linenum[96] =
  *  Libmemcached Scanner and Parser
  *
  *  Copyright (C) 2011 DataDifferental, http://datadifferential.com
- *  
+ * 
  *  This program is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU Affero General Public License as
  *  published by the Free Software Foundation, either version 3 of the
  *  License, or (at your option) any later version.
- *  
+ * 
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU Affero General Public License for more details.
- *  
+ * 
  *  You should have received a copy of the GNU Affero General Public License
  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#line 38 "libmemcached/options/scanner.l"
+#line 37 "libmemcached/options/scanner.l"
 #include <cstdlib>
 #include <cstring>
 
 #define PARAM config_get_extra(yyscanner)
 
-static void get_lex_chars(char* buffer, int& result, int max_size, Context *context)
-{
-  if (context->pos >= context->length)
-  {
-    result= YY_NULL;
-  }
-  else
-  {
-    result= context->length - context->pos;
-    result > (int)max_size ? result = max_size : 0;
-    memcpy(buffer, context->buf + context->pos, result);
-    context->pos += result;
-  }
+#define get_lex_chars(buffer, result, max_size, context) \
+{ \
+  if (context->pos >= context->length) \
+  { \
+    result= YY_NULL; \
+  } \
+  else \
+  { \
+    result= context->length - context->pos; \
+    result > max_size ? result = max_size : 0; \
+    memcpy(buffer, context->buf + context->pos, result); \
+    context->pos += result; \
+  } \
 }
 
 
 #define YY_INPUT(buffer, result, max_size) get_lex_chars(buffer, result, max_size, PARAM)
 
-#line 1362 "libmemcached/options/scanner.cc"
+#line 1361 "libmemcached/options/scanner.cc"
 
 #define INITIAL 0
 
@@ -1394,8 +1393,8 @@ struct yyguts_t
     size_t yy_buffer_stack_max; /**< capacity of stack. */
     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
     char yy_hold_char;
-    int yy_n_chars;
-    int yyleng_r;
+    yy_size_t yy_n_chars;
+    yy_size_t yyleng_r;
     char *yy_c_buf_p;
     int yy_init;
     int yy_start;
@@ -1458,7 +1457,7 @@ FILE *config_get_out (yyscan_t yyscanner );
 
 void config_set_out  (FILE * out_str ,yyscan_t yyscanner );
 
-int config_get_leng (yyscan_t yyscanner );
+yy_size_t config_get_leng (yyscan_t yyscanner );
 
 char *config_get_text (yyscan_t yyscanner );
 
@@ -1466,10 +1465,6 @@ int config_get_lineno (yyscan_t yyscanner );
 
 void config_set_lineno (int line_number ,yyscan_t yyscanner );
 
-int config_get_column  (yyscan_t yyscanner );
-
-void config_set_column (int column_no ,yyscan_t yyscanner );
-
 /* %if-bison-bridge */
 
 YYSTYPE * config_get_lval (yyscan_t yyscanner );
@@ -1533,7 +1528,7 @@ static int input (yyscan_t yyscanner );
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
  */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO fwrite( yytext, yyleng, 1, yyout )
 /* %endif */
 /* %if-c++-only C++ definition */
 /* %endif */
@@ -1548,7 +1543,7 @@ static int input (yyscan_t yyscanner );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               unsigned n; \
+               yy_size_t n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -1661,11 +1656,11 @@ YY_DECL
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
 /* %% [7.0] user's declarations go here */
-#line 74 "libmemcached/options/scanner.l"
+#line 73 "libmemcached/options/scanner.l"
 
 
 
-#line 1669 "libmemcached/options/scanner.cc"
+#line 1664 "libmemcached/options/scanner.cc"
 
     yylval = yylval_param;
 
@@ -1784,18 +1779,18 @@ do_action:      /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 77 "libmemcached/options/scanner.l"
+#line 76 "libmemcached/options/scanner.l"
 { return yytext[0];}
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 80 "libmemcached/options/scanner.l"
+#line 79 "libmemcached/options/scanner.l"
 { yylval->number = atoi(yytext); return (NUMBER); }
        YY_BREAK
 case 3:
 /* rule 3 can match eol */
 YY_RULE_SETUP
-#line 82 "libmemcached/options/scanner.l"
+#line 81 "libmemcached/options/scanner.l"
 ; /* skip whitespace */
        YY_BREAK
 case 4:
@@ -1803,369 +1798,369 @@ case 4:
 yyg->yy_c_buf_p = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 84 "libmemcached/options/scanner.l"
+#line 83 "libmemcached/options/scanner.l"
 {
       return COMMENT;
     }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 88 "libmemcached/options/scanner.l"
+#line 87 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SERVER; }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 89 "libmemcached/options/scanner.l"
+#line 88 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SERVERS_OPTION; }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 91 "libmemcached/options/scanner.l"
+#line 90 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return VERIFY_KEY; }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 92 "libmemcached/options/scanner.l"
+#line 91 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return VERIFY_KEY; }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 93 "libmemcached/options/scanner.l"
+#line 92 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return AUTO_EJECT_HOSTS; }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 94 "libmemcached/options/scanner.l"
+#line 93 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return AUTO_EJECT_HOSTS; }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 95 "libmemcached/options/scanner.l"
+#line 94 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return BINARY_PROTOCOL; }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 96 "libmemcached/options/scanner.l"
+#line 95 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return BINARY_PROTOCOL; }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 97 "libmemcached/options/scanner.l"
+#line 96 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return BUFFER_REQUESTS; }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 98 "libmemcached/options/scanner.l"
+#line 97 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return BUFFER_REQUESTS; }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 99 "libmemcached/options/scanner.l"
+#line 98 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return CACHE_LOOKUPS; }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 100 "libmemcached/options/scanner.l"
+#line 99 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return CACHE_LOOKUPS; }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 101 "libmemcached/options/scanner.l"
+#line 100 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return CONFIGURE_FILE; }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 102 "libmemcached/options/scanner.l"
+#line 101 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return CONFIGURE_FILE; }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 103 "libmemcached/options/scanner.l"
+#line 102 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return CONNECT_TIMEOUT; }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 104 "libmemcached/options/scanner.l"
+#line 103 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return CONNECT_TIMEOUT; }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 105 "libmemcached/options/scanner.l"
+#line 104 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return DISTRIBUTION; }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 106 "libmemcached/options/scanner.l"
+#line 105 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return HASH; }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 107 "libmemcached/options/scanner.l"
+#line 106 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return HASH_WITH_PREFIX_KEY; }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 108 "libmemcached/options/scanner.l"
+#line 107 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return HASH_WITH_PREFIX_KEY; }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 109 "libmemcached/options/scanner.l"
+#line 108 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return IO_BYTES_WATERMARK; }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 110 "libmemcached/options/scanner.l"
+#line 109 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return IO_BYTES_WATERMARK; }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 111 "libmemcached/options/scanner.l"
+#line 110 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return IO_KEY_PREFETCH; }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 112 "libmemcached/options/scanner.l"
+#line 111 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return IO_KEY_PREFETCH; }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 113 "libmemcached/options/scanner.l"
+#line 112 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return IO_MSG_WATERMARK; }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 114 "libmemcached/options/scanner.l"
+#line 113 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return IO_MSG_WATERMARK; }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 115 "libmemcached/options/scanner.l"
+#line 114 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return KETAMA_WEIGHTED; }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 116 "libmemcached/options/scanner.l"
+#line 115 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return KETAMA_WEIGHTED; }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 117 "libmemcached/options/scanner.l"
+#line 116 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return NOREPLY; }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 118 "libmemcached/options/scanner.l"
+#line 117 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 119 "libmemcached/options/scanner.l"
+#line 118 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return NUMBER_OF_REPLICAS; }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 120 "libmemcached/options/scanner.l"
+#line 119 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return POLL_TIMEOUT; }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 121 "libmemcached/options/scanner.l"
+#line 120 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return POLL_TIMEOUT; }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 122 "libmemcached/options/scanner.l"
+#line 121 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 123 "libmemcached/options/scanner.l"
+#line 122 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RANDOMIZE_REPLICA_READ; }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 124 "libmemcached/options/scanner.l"
+#line 123 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RCV_TIMEOUT; }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 125 "libmemcached/options/scanner.l"
+#line 124 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RCV_TIMEOUT; }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 126 "libmemcached/options/scanner.l"
+#line 125 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RETRY_TIMEOUT; }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 127 "libmemcached/options/scanner.l"
+#line 126 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RETRY_TIMEOUT; }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 128 "libmemcached/options/scanner.l"
+#line 127 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SERVER_FAILURE_LIMIT; }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 129 "libmemcached/options/scanner.l"
+#line 128 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SERVER_FAILURE_LIMIT; }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 130 "libmemcached/options/scanner.l"
+#line 129 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SND_TIMEOUT; }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 131 "libmemcached/options/scanner.l"
+#line 130 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SND_TIMEOUT; }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 132 "libmemcached/options/scanner.l"
+#line 131 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SOCKET_RECV_SIZE; }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 133 "libmemcached/options/scanner.l"
+#line 132 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SOCKET_RECV_SIZE; }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 134 "libmemcached/options/scanner.l"
+#line 133 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SOCKET_SEND_SIZE; }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 135 "libmemcached/options/scanner.l"
+#line 134 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SOCKET_SEND_SIZE; }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 136 "libmemcached/options/scanner.l"
+#line 135 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SORT_HOSTS; }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 137 "libmemcached/options/scanner.l"
+#line 136 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SORT_HOSTS; }
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 138 "libmemcached/options/scanner.l"
+#line 137 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SUPPORT_CAS; }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 139 "libmemcached/options/scanner.l"
+#line 138 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SUPPORT_CAS; }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 140 "libmemcached/options/scanner.l"
+#line 139 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return _TCP_NODELAY; }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 141 "libmemcached/options/scanner.l"
+#line 140 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return _TCP_NODELAY; }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 142 "libmemcached/options/scanner.l"
+#line 141 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return _TCP_KEEPALIVE; }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 143 "libmemcached/options/scanner.l"
+#line 142 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return _TCP_KEEPALIVE; }
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 144 "libmemcached/options/scanner.l"
+#line 143 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return _TCP_KEEPIDLE; }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 145 "libmemcached/options/scanner.l"
+#line 144 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return _TCP_KEEPIDLE; }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 146 "libmemcached/options/scanner.l"
+#line 145 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return USER_DATA; }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 147 "libmemcached/options/scanner.l"
+#line 146 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return USER_DATA; }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 148 "libmemcached/options/scanner.l"
+#line 147 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return USE_UDP; }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 149 "libmemcached/options/scanner.l"
+#line 148 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return USE_UDP; }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 151 "libmemcached/options/scanner.l"
+#line 150 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return PREFIX_KEY; }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 152 "libmemcached/options/scanner.l"
+#line 151 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return PREFIX_KEY; }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 154 "libmemcached/options/scanner.l"
+#line 153 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return INCLUDE; }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 155 "libmemcached/options/scanner.l"
+#line 154 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return RESET; }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 156 "libmemcached/options/scanner.l"
+#line 155 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return PARSER_DEBUG; }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 157 "libmemcached/options/scanner.l"
+#line 156 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return SERVERS; }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 158 "libmemcached/options/scanner.l"
+#line 157 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return END; }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 159 "libmemcached/options/scanner.l"
+#line 158 "libmemcached/options/scanner.l"
 { yyextra->begin= yytext; return ERROR; }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 161 "libmemcached/options/scanner.l"
+#line 160 "libmemcached/options/scanner.l"
 { return TRUE; }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 162 "libmemcached/options/scanner.l"
+#line 161 "libmemcached/options/scanner.l"
 { return FALSE; }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 165 "libmemcached/options/scanner.l"
+#line 164 "libmemcached/options/scanner.l"
 {
       yyextra->begin= yytext;
       return UNKNOWN_OPTION;
@@ -2173,68 +2168,68 @@ YY_RULE_SETUP
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 170 "libmemcached/options/scanner.l"
+#line 169 "libmemcached/options/scanner.l"
 { return CONSISTENT; }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 171 "libmemcached/options/scanner.l"
+#line 170 "libmemcached/options/scanner.l"
 { return MODULA; }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 172 "libmemcached/options/scanner.l"
+#line 171 "libmemcached/options/scanner.l"
 { return RANDOM; }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 174 "libmemcached/options/scanner.l"
+#line 173 "libmemcached/options/scanner.l"
 { return MD5; }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 175 "libmemcached/options/scanner.l"
+#line 174 "libmemcached/options/scanner.l"
 { return CRC; }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 176 "libmemcached/options/scanner.l"
+#line 175 "libmemcached/options/scanner.l"
 { return FNV1_64; }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 177 "libmemcached/options/scanner.l"
+#line 176 "libmemcached/options/scanner.l"
 { return FNV1A_64; }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 178 "libmemcached/options/scanner.l"
+#line 177 "libmemcached/options/scanner.l"
 { return FNV1_32; }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 179 "libmemcached/options/scanner.l"
+#line 178 "libmemcached/options/scanner.l"
 { return FNV1A_32; }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 180 "libmemcached/options/scanner.l"
+#line 179 "libmemcached/options/scanner.l"
 { return HSIEH; }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 181 "libmemcached/options/scanner.l"
+#line 180 "libmemcached/options/scanner.l"
 { return MURMUR; }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 182 "libmemcached/options/scanner.l"
+#line 181 "libmemcached/options/scanner.l"
 { return JENKINS; }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 184 "libmemcached/options/scanner.l"
-{ 
+#line 183 "libmemcached/options/scanner.l"
+{
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return HOSTNAME_WITH_PORT;
@@ -2242,8 +2237,8 @@ YY_RULE_SETUP
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 190 "libmemcached/options/scanner.l"
-{ 
+#line 189 "libmemcached/options/scanner.l"
+{
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return HOSTNAME;
@@ -2251,7 +2246,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 196 "libmemcached/options/scanner.l"
+#line 195 "libmemcached/options/scanner.l"
 {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
@@ -2260,7 +2255,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 202 "libmemcached/options/scanner.l"
+#line 201 "libmemcached/options/scanner.l"
 {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
@@ -2269,8 +2264,8 @@ YY_RULE_SETUP
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 208 "libmemcached/options/scanner.l"
-{ 
+#line 207 "libmemcached/options/scanner.l"
+{
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return STRING;
@@ -2278,7 +2273,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 214 "libmemcached/options/scanner.l"
+#line 213 "libmemcached/options/scanner.l"
 {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
@@ -2287,7 +2282,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 220 "libmemcached/options/scanner.l"
+#line 219 "libmemcached/options/scanner.l"
 {
       yyextra->begin= yytext;
       return UNKNOWN;
@@ -2295,10 +2290,10 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 225 "libmemcached/options/scanner.l"
+#line 224 "libmemcached/options/scanner.l"
 ECHO;
        YY_BREAK
-#line 2302 "libmemcached/options/scanner.cc"
+#line 2297 "libmemcached/options/scanner.cc"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -2498,7 +2493,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
        else
                {
-                       int num_to_read =
+                       yy_size_t num_to_read =
                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
                while ( num_to_read <= 0 )
@@ -2512,7 +2507,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
                        if ( b->yy_is_our_buffer )
                                {
-                               int new_size = b->yy_buf_size * 2;
+                               yy_size_t new_size = b->yy_buf_size * 2;
 
                                if ( new_size <= 0 )
                                        b->yy_buf_size += b->yy_buf_size / 8;
@@ -2543,7 +2538,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
                /* Read in more data. */
                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       yyg->yy_n_chars, (size_t) num_to_read );
+                       yyg->yy_n_chars, num_to_read );
 
                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
                }
@@ -2690,7 +2685,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
 
                else
                        { /* need more input */
-                       int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
+                       yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
                        ++yyg->yy_c_buf_p;
 
                        switch ( yy_get_next_buffer( yyscanner ) )
@@ -2714,7 +2709,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
                                case EOB_ACT_END_OF_FILE:
                                        {
                                        if ( config_wrap(yyscanner ) )
-                                               return EOF;
+                                               return 0;
 
                                        if ( ! yyg->yy_did_buffer_switch_on_eof )
                                                YY_NEW_FILE;
@@ -3036,7 +3031,7 @@ static void config_ensure_buffer_stack (yyscan_t yyscanner)
 /* %if-c++-only */
 /* %endif */
 {
-       int num_to_alloc;
+       yy_size_t num_to_alloc;
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
 
        if (!yyg->yy_buffer_stack) {
@@ -3140,12 +3135,11 @@ YY_BUFFER_STATE config__scan_string (yyconst char * yystr , yyscan_t yyscanner)
  * @param yyscanner The scanner object.
  * @return the newly allocated buffer state object.
  */
-YY_BUFFER_STATE config__scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
+YY_BUFFER_STATE config__scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len , yyscan_t yyscanner)
 {
        YY_BUFFER_STATE b;
        char *buf;
-       yy_size_t n;
-       int i;
+       yy_size_t n, i;
     
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = _yybytes_len + 2;
@@ -3265,7 +3259,7 @@ FILE *config_get_out  (yyscan_t yyscanner)
 /** Get the length of the current token.
  * @param yyscanner The scanner object.
  */
-int config_get_leng  (yyscan_t yyscanner)
+yy_size_t config_get_leng  (yyscan_t yyscanner)
 {
     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     return yyleng;
@@ -3564,7 +3558,7 @@ void config_free (void * ptr , yyscan_t yyscanner)
 
 /* %ok-for-header */
 
-#line 225 "libmemcached/options/scanner.l"
+#line 224 "libmemcached/options/scanner.l"
 
 
 
index 5c2473f4f79a30e6dab791ca0a2cb8efb90fb2ee..4572213d3075a7c30afb1acb1e2a1d8d32aa7ce0 100644 (file)
@@ -7,7 +7,6 @@
 
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 #pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-fpermissive"
 
 #include <libmemcached/options/context.h>
 #include <libmemcached/options/parser.h>
@@ -19,7 +18,7 @@
 
 
 
-#line 23 "libmemcached/options/scanner.h"
+#line 22 "libmemcached/options/scanner.h"
 
 #define  YY_INT_ALIGNED short int
 
@@ -188,6 +187,11 @@ typedef void* yyscan_t;
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
 #endif
 
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
 /* %if-not-reentrant */
 /* %endif */
 
@@ -196,11 +200,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
 /* %endif */
 /* %endif */
 
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
@@ -223,7 +222,7 @@ struct yy_buffer_state
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       int yy_n_chars;
+       yy_size_t yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -279,7 +278,7 @@ void config_pop_buffer_state (yyscan_t yyscanner );
 
 YY_BUFFER_STATE config__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
 YY_BUFFER_STATE config__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
-YY_BUFFER_STATE config__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
+YY_BUFFER_STATE config__scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
 
 /* %endif */
 
@@ -360,7 +359,7 @@ FILE *config_get_out (yyscan_t yyscanner );
 
 void config_set_out  (FILE * out_str ,yyscan_t yyscanner );
 
-int config_get_leng (yyscan_t yyscanner );
+yy_size_t config_get_leng (yyscan_t yyscanner );
 
 char *config_get_text (yyscan_t yyscanner );
 
@@ -368,10 +367,6 @@ int config_get_lineno (yyscan_t yyscanner );
 
 void config_set_lineno (int line_number ,yyscan_t yyscanner );
 
-int config_get_column  (yyscan_t yyscanner );
-
-void config_set_column (int column_no ,yyscan_t yyscanner );
-
 /* %if-bison-bridge */
 
 YYSTYPE * config_get_lval (yyscan_t yyscanner );
@@ -471,9 +466,9 @@ extern int config_lex \
 #undef YY_DECL
 #endif
 
-#line 225 "libmemcached/options/scanner.l"
+#line 224 "libmemcached/options/scanner.l"
 
 
-#line 478 "libmemcached/options/scanner.h"
+#line 473 "libmemcached/options/scanner.h"
 #undef config_IN_HEADER
 #endif /* config_HEADER_H */
index ccfc55aa570752559a34a99bdab1299bbb9fea02..b3fce3c317f0ef83f4c1febd76fa4d63ed493b1e 100644 (file)
@@ -3,17 +3,17 @@
  *  Libmemcached Scanner and Parser
  *
  *  Copyright (C) 2011 DataDifferental, http://datadifferential.com
- *  
+ * 
  *  This program is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU Affero General Public License as
  *  published by the Free Software Foundation, either version 3 of the
  *  License, or (at your option) any later version.
- *  
+ * 
  *  This program is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  *  GNU Affero General Public License for more details.
- *  
+ * 
  *  You should have received a copy of the GNU Affero General Public License
  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
@@ -22,7 +22,6 @@
 
 #pragma GCC diagnostic ignored "-Wold-style-cast"
 #pragma GCC diagnostic ignored "-Wunused-parameter"
-#pragma GCC diagnostic ignored "-fpermissive"
 
 #include <libmemcached/options/context.h>
 #include <libmemcached/options/parser.h>
 
 #define PARAM yyget_extra(yyscanner)
 
-static void get_lex_chars(char* buffer, int& result, int max_size, Context *context)
-{
-  if (context->pos >= context->length)
-  {
-    result= YY_NULL;
-  }
-  else
-  {
-    result= context->length - context->pos;
-    result > (int)max_size ? result = max_size : 0;
-    memcpy(buffer, context->buf + context->pos, result);
-    context->pos += result;
-  }
+#define get_lex_chars(buffer, result, max_size, context) \
+{ \
+  if (context->pos >= context->length) \
+  { \
+    result= YY_NULL; \
+  } \
+  else \
+  { \
+    result= context->length - context->pos; \
+    result > max_size ? result = max_size : 0; \
+    memcpy(buffer, context->buf + context->pos, result); \
+    context->pos += result; \
+  } \
 }
 
 
@@ -181,13 +180,13 @@ HSIEH                     { return HSIEH; }
 MURMUR                 { return MURMUR; }
 JENKINS                        { return JENKINS; }
 
-[[:alnum:]][[:alnum:].]*[[:alpha:]]: { 
+[[:alnum:]][[:alnum:].]*[[:alpha:]]: {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return HOSTNAME_WITH_PORT;
     }
 
-[[:alnum:]]+"."[[:alpha:].]+[[:alnum:]] { 
+[[:alnum:]]+"."[[:alpha:].]+[[:alnum:]] {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return HOSTNAME;
@@ -205,7 +204,7 @@ JENKINS                     { return JENKINS; }
       return IPADDRESS;
     }
 
-[[:alnum:]]+ { 
+[[:alnum:]]+ {
       yylval->string.c_str = yytext;
       yylval->string.length = yyleng;
       return STRING;