- Added support for c++ style comments
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>
Mon, 22 Dec 2014 18:42:28 +0000 (18:42 +0000)
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>
Mon, 22 Dec 2014 18:42:28 +0000 (18:42 +0000)
- Replaced strcpy() with strlcpy()

git-svn-id: svn://svn.ircd-hybrid.org/svnroot/hopm/trunk@5078 82007160-df01-0410-b94d-b575c5fd34c7

src/config-lexer.c
src/config-lexer.l

index dbb21420d91bc11cd0a6e6894821fb56e4e05af8..499beb02d82e495ee5dc821fff2cdba8d580491e 100644 (file)
@@ -374,39 +374,39 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[284] =
+static yyconst flex_int16_t yy_accept[285] =
     {   0,
        61,   61,   64,   62,   61,   60,   62,    2,   62,   53,
        62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
        62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
-       61,   60,    0,    3,    2,    1,   53,    0,    0,    0,
-        0,    0,    0,    0,    0,   13,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   58,    0,   56,    0,
+       61,   60,    0,    3,    2,    1,    2,   53,    0,    0,
+        0,    0,    0,    0,    0,    0,   13,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,   58,    0,   56,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   15,   17,
-        0,    0,    0,    0,    0,    0,    0,   59,    0,   26,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   15,
+       17,    0,    0,    0,    0,    0,    0,    0,   59,    0,
 
+       26,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       55,    4,    0,    0,    0,    0,    0,    0,    0,    0,
-       47,    0,    0,   18,    0,   20,   21,    0,   23,   25,
-        0,    0,    0,    0,   31,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   54,   43,   44,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   57,    0,    0,
-       16,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       34,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       46,    0,    0,    0,    0,    0,    0,    0,   12,    0,
-
-       14,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       52,    0,    0,    0,   38,   49,   50,    0,    0,    0,
-        0,    0,    0,    7,    0,    0,    0,    0,    0,    0,
-        0,    0,   27,    0,   29,   30,    0,    0,   35,   36,
-        0,    0,   42,    0,   51,    0,    0,    0,    0,   11,
-        0,   48,   19,   22,   24,   28,   32,   33,   37,    0,
-        0,    0,   45,    0,    6,    8,    0,    0,   39,    0,
-        0,    0,   10,    0,    0,    0,    5,    9,   40,    0,
-        0,   41,    0
+        0,   55,    4,    0,    0,    0,    0,    0,    0,    0,
+        0,   47,    0,    0,   18,    0,   20,   21,    0,   23,
+       25,    0,    0,    0,    0,   31,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   54,   43,   44,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   57,    0,
+        0,   16,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   34,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   46,    0,    0,    0,    0,    0,    0,    0,   12,
+
+        0,   14,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,   52,    0,    0,    0,   38,   49,   50,    0,    0,
+        0,    0,    0,    0,    7,    0,    0,    0,    0,    0,
+        0,    0,    0,   27,    0,   29,   30,    0,    0,   35,
+       36,    0,    0,   42,    0,   51,    0,    0,    0,    0,
+       11,    0,   48,   19,   22,   24,   28,   32,   33,   37,
+        0,    0,    0,   45,    0,    6,    8,    0,    0,   39,
+        0,    0,    0,   10,    0,    0,    0,    5,    9,   40,
+        0,    0,   41,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -451,220 +451,220 @@ static yyconst flex_int32_t yy_meta[58] =
         1,    1,    1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[287] =
+static yyconst flex_int16_t yy_base[288] =
     {   0,
-        0,    0,  497,  568,  493,    0,   55,    0,  239,   52,
-       32,   53,   47,   43,   35,   58,   40,   47,   60,   89,
-       91,   91,  130,   88,   96,  131,   50,   62,   65,  104,
-      130,    0,   75,  568,    0,  568,  113,  117,  106,  135,
-      136,  125,  124,  140,  137,  568,  131,  130,  148,  129,
-      144,  162,  153,  146,  159,  164,  568,  174,  568,  180,
-      166,  170,  183,  172,  175,  199,  174,  193,  183,  192,
-      181,  189,  183,  190,  201,  201,  214,  211,  208,   91,
-      229,  220,  221,  235,  224,  223,  226,  233,  568,  568,
-      230,  234,   84,  240,  241,  244,  238,  568,  233,  568,
-
-      241,  236,  248,  256,  245,  257,  265,  268,  262,  268,
-      278,  263,  274,  278,  283,  284,  285,  275,  275,  286,
-      568,  568,  275,  285,  283,  281,  287,  295,  287,  305,
-      296,  305,  319,  568,  311,  568,  568,  327,  312,  568,
-      316,  310,  318,  324,  568,  322,  324,  315,  334,  329,
-      329,  338,  327,  340,  332,  568,  568,  336,  332,  357,
-      346,  360,  367,  370,   83,  372,  359,  568,  364,  374,
-      568,  375,  378,  379,  372,  372,  371,  377,  386,  389,
-      568,  375,  378,  388,  393,  381,   73,  380,  387,  406,
-      568,  401,  410,  414,  413,  418,  420,  416,  568,  411,
-
-      568,  428,  424,  417,  417,  419,  424,  432,  425,  428,
-      568,  434,  426,  436,  568,  568,  568,   52,  428,  442,
-      450,  454,  451,  568,  466,  456,  459,  465,  457,  472,
-      472,  460,  568,  477,  568,  568,  471,  478,  568,  568,
-      473,  494,  568,  481,  568,  474,  471,  468,  479,  568,
-      482,  568,  568,  568,  568,  568,  568,  568,  568,  487,
-      501,  498,  568,  498,  568,  568,  508,  512,  568,  506,
-      507,  511,  568,  507,  510,  520,  568,  568,  568,  517,
-      524,  568,  568,   84,  565,   75
+        0,    0,  497,  570,  245,    0,   55,    0,   54,   54,
+       34,   55,   49,   45,   37,   60,   42,   49,   62,   91,
+       93,   93,  132,   90,   98,  133,   52,   64,   67,  106,
+      132,    0,   77,  570,    0,  570,    0,  115,  119,  108,
+      137,  138,  127,  126,  142,  139,  570,  133,  132,  150,
+      131,  146,  164,  155,  148,  161,  166,  570,  176,  570,
+      182,  168,  172,  185,  174,  177,  201,  176,  195,  185,
+      194,  183,  191,  185,  192,  203,  203,  216,  213,  210,
+       93,  231,  222,  223,  237,  226,  225,  228,  235,  570,
+      570,  232,  236,   86,  242,  243,  246,  240,  570,  235,
+
+      570,  243,  238,  250,  258,  247,  259,  267,  270,  264,
+      270,  280,  265,  276,  280,  285,  286,  287,  277,  277,
+      288,  570,  570,  277,  287,  285,  283,  289,  297,  289,
+      307,  298,  307,  321,  570,  313,  570,  570,  329,  314,
+      570,  318,  312,  320,  326,  570,  324,  326,  317,  336,
+      331,  331,  340,  329,  342,  334,  570,  570,  338,  334,
+      359,  348,  362,  369,  372,   85,  374,  361,  570,  366,
+      376,  570,  377,  380,  381,  374,  374,  373,  379,  388,
+      391,  570,  377,  380,  390,  395,  383,   75,  382,  389,
+      408,  570,  403,  412,  416,  415,  420,  422,  418,  570,
+
+      413,  570,  430,  426,  419,  419,  421,  426,  434,  427,
+      430,  570,  436,  428,  438,  570,  570,  570,   54,  430,
+      444,  452,  456,  453,  570,  468,  458,  461,  467,  459,
+      474,  474,  462,  570,  479,  570,  570,  473,  480,  570,
+      570,  475,  496,  570,  483,  570,  476,  473,  470,  481,
+      570,  484,  570,  570,  570,  570,  570,  570,  570,  570,
+      489,  503,  500,  570,  500,  570,  570,  510,  514,  570,
+      508,  509,  513,  570,  509,  512,  522,  570,  570,  570,
+      519,  526,  570,  570,   86,  567,   77
     } ;
 
-static yyconst flex_int16_t yy_def[287] =
+static yyconst flex_int16_t yy_def[288] =
     {   0,
-      283,    1,  283,  283,  283,  284,  285,  286,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  284,  285,  283,  286,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,    0,  283,  283,  283
+      284,    1,  284,  284,  284,  285,  286,  287,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  285,  286,  284,  287,  284,  287,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,    0,  284,  284,  284
     } ;
 
-static yyconst flex_int16_t yy_nxt[626] =
+static yyconst flex_int16_t yy_nxt[628] =
     {   0,
         4,    5,    6,    7,    8,    4,    9,   10,   10,   10,
        11,   12,   13,   14,   15,   16,    4,   17,   18,   19,
         4,   20,   21,   22,   23,   24,   25,   26,   27,   28,
        29,    4,   30,    4,   11,   12,   13,   14,   15,   16,
         4,   17,   18,   19,    4,   20,   21,   22,   23,   24,
-       25,   26,   27,   28,   29,    4,   30,   34,   34,   37,
-       37,   37,   38,   39,   41,   43,   44,   47,   45,   48,
-       42,   46,   49,   40,   50,   35,   75,   34,   34,   76,
-       51,  216,  217,   77,   32,  242,   38,   39,   41,   43,
-       44,   47,   45,   48,   42,   46,   49,   40,   50,   52,
-
-       75,   54,   66,   76,   51,   55,   58,   77,   68,   56,
-       69,   67,   53,   59,   57,   60,  197,  135,   78,   70,
-       37,   37,   37,   52,  123,   54,   66,   79,   80,   55,
-       58,   31,   68,   56,   69,   67,   53,   59,   57,   60,
-       61,   71,   78,   70,   62,   81,   82,   83,   63,   72,
-       84,   79,   80,   64,   85,   65,   73,   86,   87,   88,
-       89,   90,   91,   74,   61,   71,   94,   95,   62,   81,
-       82,   83,   63,   72,   84,   96,   97,   64,   85,   65,
-       73,   86,   87,   88,   89,   90,   91,   74,   92,   98,
-       94,   95,  102,   93,   99,  103,  104,  105,  106,   96,
-
-       97,  100,  109,  110,  113,  111,  114,  101,  112,  107,
-      115,  116,   92,   98,  117,  118,  102,   93,   99,  103,
-      104,  105,  106,  108,  119,  100,  109,  110,  113,  111,
-      114,  101,  112,  107,  115,  116,  120,  121,  117,  118,
-      122,  124,  125,  126,   36,  129,  127,  108,  119,  130,
-      131,  132,  133,  134,  136,  137,  138,  139,  140,  141,
-      120,  121,  142,  143,  122,  124,  125,  126,  128,  129,
-      127,  144,  145,  130,  131,  132,  133,  134,  136,  137,
-      138,  139,  140,  141,  146,  147,  142,  143,  148,  149,
-      150,  151,  152,  153,  154,  144,  145,  155,  156,  157,
-
-      158,  159,  160,  161,  162,  163,  164,  165,  146,  147,
-      166,  167,  148,  149,  150,  151,  152,  153,  154,  168,
-      169,  155,  156,  157,  158,  159,  160,  161,  162,  163,
-      164,  165,  170,  171,  166,  167,  172,  173,  174,  175,
-      176,  177,  178,  168,  169,  179,  180,  181,  182,  183,
-      185,  184,  186,  187,  188,  189,  170,  171,  190,  191,
-      172,  173,  174,  175,  176,  177,  178,  192,  193,  179,
-      180,  181,  182,  183,  185,  184,  186,  187,  188,  189,
-      194,  195,  190,  191,  196,  198,  199,  200,  201,  202,
-      203,  192,  193,  204,  205,  206,  207,  208,  209,  210,
-
-      211,  212,  213,  214,  194,  195,  215,  218,  196,  198,
-      199,  200,  201,  202,  203,  219,  220,  204,  205,  206,
-      207,  208,  209,  210,  211,  212,  213,  214,  221,  222,
-      215,  218,  223,  224,  225,  226,  228,  229,  230,  219,
-      220,  231,  232,  233,  234,  235,  236,  227,  237,  238,
-      239,  240,  221,  222,  241,  243,  223,  224,  225,  226,
-      228,  229,  230,  244,  245,  231,  232,  233,  234,  235,
-      236,  227,  237,  238,  239,  240,  246,  247,  241,  243,
-      248,  249,  250,  251,  252,  253,  254,  244,  245,  255,
-      256,  257,  258,  259,   31,  263,  283,  264,  265,  266,
-
-      246,  247,  267,  268,  248,  249,  250,  251,  252,  253,
-      254,  269,  260,  255,  256,  257,  258,  259,  261,  263,
-      262,  264,  265,  266,  270,  271,  267,  268,  272,  273,
-      274,  275,  276,  277,  278,  269,  260,  279,  280,  281,
-      282,  283,  261,  283,  262,  283,  283,  283,  270,  271,
-      283,  283,  272,  273,  274,  275,  276,  277,  278,  283,
-      283,  279,  280,  281,  282,   33,   33,    3,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283
+       25,   26,   27,   28,   29,    4,   30,   34,   34,   36,
+       37,   38,   38,   38,   39,   40,   42,   44,   45,   48,
+       46,   49,   43,   47,   50,   41,   51,   35,   76,   34,
+       34,   77,   52,  217,  218,   78,   32,  243,   39,   40,
+       42,   44,   45,   48,   46,   49,   43,   47,   50,   41,
+
+       51,   53,   76,   55,   67,   77,   52,   56,   59,   78,
+       69,   57,   70,   68,   54,   60,   58,   61,  198,  136,
+       79,   71,   38,   38,   38,   53,  124,   55,   67,   80,
+       81,   56,   59,   31,   69,   57,   70,   68,   54,   60,
+       58,   61,   62,   72,   79,   71,   63,   82,   83,   84,
+       64,   73,   85,   80,   81,   65,   86,   66,   74,   87,
+       88,   89,   90,   91,   92,   75,   62,   72,   95,   96,
+       63,   82,   83,   84,   64,   73,   85,   97,   98,   65,
+       86,   66,   74,   87,   88,   89,   90,   91,   92,   75,
+       93,   99,   95,   96,  103,   94,  100,  104,  105,  106,
+
+      107,   97,   98,  101,  110,  111,  114,  112,  115,  102,
+      113,  108,  116,  117,   93,   99,  118,  119,  103,   94,
+      100,  104,  105,  106,  107,  109,  120,  101,  110,  111,
+      114,  112,  115,  102,  113,  108,  116,  117,  121,  122,
+      118,  119,  123,  125,  126,  127,   31,  130,  128,  109,
+      120,  131,  132,  133,  134,  135,  137,  138,  139,  140,
+      141,  142,  121,  122,  143,  144,  123,  125,  126,  127,
+      129,  130,  128,  145,  146,  131,  132,  133,  134,  135,
+      137,  138,  139,  140,  141,  142,  147,  148,  143,  144,
+      149,  150,  151,  152,  153,  154,  155,  145,  146,  156,
+
+      157,  158,  159,  160,  161,  162,  163,  164,  165,  166,
+      147,  148,  167,  168,  149,  150,  151,  152,  153,  154,
+      155,  169,  170,  156,  157,  158,  159,  160,  161,  162,
+      163,  164,  165,  166,  171,  172,  167,  168,  173,  174,
+      175,  176,  177,  178,  179,  169,  170,  180,  181,  182,
+      183,  184,  186,  185,  187,  188,  189,  190,  171,  172,
+      191,  192,  173,  174,  175,  176,  177,  178,  179,  193,
+      194,  180,  181,  182,  183,  184,  186,  185,  187,  188,
+      189,  190,  195,  196,  191,  192,  197,  199,  200,  201,
+      202,  203,  204,  193,  194,  205,  206,  207,  208,  209,
+
+      210,  211,  212,  213,  214,  215,  195,  196,  216,  219,
+      197,  199,  200,  201,  202,  203,  204,  220,  221,  205,
+      206,  207,  208,  209,  210,  211,  212,  213,  214,  215,
+      222,  223,  216,  219,  224,  225,  226,  227,  229,  230,
+      231,  220,  221,  232,  233,  234,  235,  236,  237,  228,
+      238,  239,  240,  241,  222,  223,  242,  244,  224,  225,
+      226,  227,  229,  230,  231,  245,  246,  232,  233,  234,
+      235,  236,  237,  228,  238,  239,  240,  241,  247,  248,
+      242,  244,  249,  250,  251,  252,  253,  254,  255,  245,
+      246,  256,  257,  258,  259,  260,  284,  264,  284,  265,
+
+      266,  267,  247,  248,  268,  269,  249,  250,  251,  252,
+      253,  254,  255,  270,  261,  256,  257,  258,  259,  260,
+      262,  264,  263,  265,  266,  267,  271,  272,  268,  269,
+      273,  274,  275,  276,  277,  278,  279,  270,  261,  280,
+      281,  282,  283,  284,  262,  284,  263,  284,  284,  284,
+      271,  272,  284,  284,  273,  274,  275,  276,  277,  278,
+      279,  284,  284,  280,  281,  282,  283,   33,   33,    3,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284
     } ;
 
-static yyconst flex_int16_t yy_chk[626] =
+static yyconst flex_int16_t yy_chk[628] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    7,    7,   10,
-       10,   10,   11,   12,   13,   14,   15,   17,   16,   18,
-       13,   16,   18,   12,   19,  286,   27,   33,   33,   28,
-       19,  187,  187,   29,  284,  218,   11,   12,   13,   14,
-       15,   17,   16,   18,   13,   16,   18,   12,   19,   20,
-
-       27,   21,   24,   28,   19,   21,   22,   29,   25,   21,
-       25,   24,   20,   22,   21,   22,  165,   93,   30,   25,
-       37,   37,   37,   20,   80,   21,   24,   38,   39,   21,
-       22,   31,   25,   21,   25,   24,   20,   22,   21,   22,
-       23,   26,   30,   25,   23,   40,   41,   42,   23,   26,
-       43,   38,   39,   23,   44,   23,   26,   45,   47,   48,
-       49,   50,   51,   26,   23,   26,   53,   54,   23,   40,
-       41,   42,   23,   26,   43,   55,   56,   23,   44,   23,
-       26,   45,   47,   48,   49,   50,   51,   26,   52,   58,
-       53,   54,   61,   52,   60,   62,   63,   64,   65,   55,
-
-       56,   60,   67,   68,   70,   69,   71,   60,   69,   66,
-       72,   73,   52,   58,   74,   75,   61,   52,   60,   62,
-       63,   64,   65,   66,   76,   60,   67,   68,   70,   69,
-       71,   60,   69,   66,   72,   73,   77,   78,   74,   75,
-       79,   81,   82,   83,    9,   85,   84,   66,   76,   86,
-       87,   88,   91,   92,   94,   95,   96,   97,   99,  101,
-       77,   78,  102,  103,   79,   81,   82,   83,   84,   85,
-       84,  104,  105,   86,   87,   88,   91,   92,   94,   95,
-       96,   97,   99,  101,  106,  107,  102,  103,  108,  109,
-      110,  111,  112,  113,  114,  104,  105,  115,  116,  117,
-
-      118,  119,  120,  123,  124,  125,  126,  127,  106,  107,
-      128,  129,  108,  109,  110,  111,  112,  113,  114,  130,
-      131,  115,  116,  117,  118,  119,  120,  123,  124,  125,
-      126,  127,  132,  133,  128,  129,  135,  138,  139,  141,
-      142,  143,  144,  130,  131,  146,  147,  148,  149,  150,
-      151,  150,  152,  153,  154,  155,  132,  133,  158,  159,
-      135,  138,  139,  141,  142,  143,  144,  160,  161,  146,
-      147,  148,  149,  150,  151,  150,  152,  153,  154,  155,
-      162,  163,  158,  159,  164,  166,  167,  169,  170,  172,
-      173,  160,  161,  174,  175,  176,  177,  178,  179,  180,
-
-      182,  183,  184,  185,  162,  163,  186,  188,  164,  166,
-      167,  169,  170,  172,  173,  189,  190,  174,  175,  176,
-      177,  178,  179,  180,  182,  183,  184,  185,  192,  193,
-      186,  188,  194,  195,  196,  197,  198,  200,  202,  189,
-      190,  203,  204,  205,  206,  207,  208,  197,  209,  210,
-      212,  213,  192,  193,  214,  219,  194,  195,  196,  197,
-      198,  200,  202,  220,  221,  203,  204,  205,  206,  207,
-      208,  197,  209,  210,  212,  213,  222,  223,  214,  219,
-      225,  226,  227,  228,  229,  230,  231,  220,  221,  232,
-      234,  237,  238,  241,    5,  244,    3,  246,  247,  248,
-
-      222,  223,  249,  251,  225,  226,  227,  228,  229,  230,
-      231,  260,  242,  232,  234,  237,  238,  241,  242,  244,
-      242,  246,  247,  248,  261,  262,  249,  251,  264,  267,
-      268,  270,  271,  272,  274,  260,  242,  275,  276,  280,
-      281,    0,  242,    0,  242,    0,    0,    0,  261,  262,
-        0,    0,  264,  267,  268,  270,  271,  272,  274,    0,
-        0,  275,  276,  280,  281,  285,  285,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283
+        1,    1,    1,    1,    1,    1,    1,    7,    7,    9,
+        9,   10,   10,   10,   11,   12,   13,   14,   15,   17,
+       16,   18,   13,   16,   18,   12,   19,  287,   27,   33,
+       33,   28,   19,  188,  188,   29,  285,  219,   11,   12,
+       13,   14,   15,   17,   16,   18,   13,   16,   18,   12,
+
+       19,   20,   27,   21,   24,   28,   19,   21,   22,   29,
+       25,   21,   25,   24,   20,   22,   21,   22,  166,   94,
+       30,   25,   38,   38,   38,   20,   81,   21,   24,   39,
+       40,   21,   22,   31,   25,   21,   25,   24,   20,   22,
+       21,   22,   23,   26,   30,   25,   23,   41,   42,   43,
+       23,   26,   44,   39,   40,   23,   45,   23,   26,   46,
+       48,   49,   50,   51,   52,   26,   23,   26,   54,   55,
+       23,   41,   42,   43,   23,   26,   44,   56,   57,   23,
+       45,   23,   26,   46,   48,   49,   50,   51,   52,   26,
+       53,   59,   54,   55,   62,   53,   61,   63,   64,   65,
+
+       66,   56,   57,   61,   68,   69,   71,   70,   72,   61,
+       70,   67,   73,   74,   53,   59,   75,   76,   62,   53,
+       61,   63,   64,   65,   66,   67,   77,   61,   68,   69,
+       71,   70,   72,   61,   70,   67,   73,   74,   78,   79,
+       75,   76,   80,   82,   83,   84,    5,   86,   85,   67,
+       77,   87,   88,   89,   92,   93,   95,   96,   97,   98,
+      100,  102,   78,   79,  103,  104,   80,   82,   83,   84,
+       85,   86,   85,  105,  106,   87,   88,   89,   92,   93,
+       95,   96,   97,   98,  100,  102,  107,  108,  103,  104,
+      109,  110,  111,  112,  113,  114,  115,  105,  106,  116,
+
+      117,  118,  119,  120,  121,  124,  125,  126,  127,  128,
+      107,  108,  129,  130,  109,  110,  111,  112,  113,  114,
+      115,  131,  132,  116,  117,  118,  119,  120,  121,  124,
+      125,  126,  127,  128,  133,  134,  129,  130,  136,  139,
+      140,  142,  143,  144,  145,  131,  132,  147,  148,  149,
+      150,  151,  152,  151,  153,  154,  155,  156,  133,  134,
+      159,  160,  136,  139,  140,  142,  143,  144,  145,  161,
+      162,  147,  148,  149,  150,  151,  152,  151,  153,  154,
+      155,  156,  163,  164,  159,  160,  165,  167,  168,  170,
+      171,  173,  174,  161,  162,  175,  176,  177,  178,  179,
+
+      180,  181,  183,  184,  185,  186,  163,  164,  187,  189,
+      165,  167,  168,  170,  171,  173,  174,  190,  191,  175,
+      176,  177,  178,  179,  180,  181,  183,  184,  185,  186,
+      193,  194,  187,  189,  195,  196,  197,  198,  199,  201,
+      203,  190,  191,  204,  205,  206,  207,  208,  209,  198,
+      210,  211,  213,  214,  193,  194,  215,  220,  195,  196,
+      197,  198,  199,  201,  203,  221,  222,  204,  205,  206,
+      207,  208,  209,  198,  210,  211,  213,  214,  223,  224,
+      215,  220,  226,  227,  228,  229,  230,  231,  232,  221,
+      222,  233,  235,  238,  239,  242,    3,  245,    0,  247,
+
+      248,  249,  223,  224,  250,  252,  226,  227,  228,  229,
+      230,  231,  232,  261,  243,  233,  235,  238,  239,  242,
+      243,  245,  243,  247,  248,  249,  262,  263,  250,  252,
+      265,  268,  269,  271,  272,  273,  275,  261,  243,  276,
+      277,  281,  282,    0,  243,    0,  243,    0,    0,    0,
+      262,  263,    0,    0,  265,  268,  269,  271,  272,  273,
+      275,    0,    0,  276,  277,  281,  282,  286,  286,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
+      284,  284,  284,  284,  284,  284,  284
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -712,17 +712,19 @@ char *yytext;
 #line 32 "config-lexer.l"
 #include <stdio.h>
 #include <string.h>
+
+#include "inet.h"
+#include "compat.h"
 #include "config.h"
 #include "config-parser.h"
 
 
 void ccomment(void);
-void hashcomment(void);
 
 int linenum = 1;
 char linebuf[512];
 
-#line 726 "config-lexer.c"
+#line 728 "config-lexer.c"
 
 #define INITIAL 0
 
@@ -929,10 +931,10 @@ YY_DECL
                }
 
        {
-#line 50 "config-lexer.l"
+#line 52 "config-lexer.l"
 
 
-#line 936 "config-lexer.c"
+#line 938 "config-lexer.c"
 
        while ( 1 )             /* loops until end-of-file is reached */
                {
@@ -965,13 +967,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 284 )
+                               if ( yy_current_state >= 285 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 568 );
+               while ( yy_base[yy_current_state] != 570 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@ -997,18 +999,18 @@ do_action:        /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 52 "config-lexer.l"
+#line 54 "config-lexer.l"
 { ccomment(); }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 54 "config-lexer.l"
-{ hashcomment(); }
+#line 56 "config-lexer.l"
+;
        YY_BREAK
 case 3:
 /* rule 3 can match eol */
 YY_RULE_SETUP
-#line 56 "config-lexer.l"
+#line 58 "config-lexer.l"
 {
                            /* QSTRING from Hybrid7. Why re-invent the wheel? */
 
@@ -1050,222 +1052,222 @@ YY_RULE_SETUP
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 95 "config-lexer.l"
+#line 97 "config-lexer.l"
 { return AWAY;         }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 96 "config-lexer.l"
+#line 98 "config-lexer.l"
 { return BAN_UNKNOWN;  }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 97 "config-lexer.l"
+#line 99 "config-lexer.l"
 { return BLACKLIST;    }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 98 "config-lexer.l"
+#line 100 "config-lexer.l"
 { return CHANNEL;      }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 99 "config-lexer.l"
+#line 101 "config-lexer.l"
 { return CONNREGEX;    }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 100 "config-lexer.l"
+#line 102 "config-lexer.l"
 { return DNS_FDLIMIT;  }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 101 "config-lexer.l"
+#line 103 "config-lexer.l"
 { return DNSBL_FROM;   }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 102 "config-lexer.l"
+#line 104 "config-lexer.l"
 { return DNSBL_TO;     }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 103 "config-lexer.l"
+#line 105 "config-lexer.l"
 { return EXEMPT;       }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 104 "config-lexer.l"
+#line 106 "config-lexer.l"
 { return FD;           }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 105 "config-lexer.l"
+#line 107 "config-lexer.l"
 { return INVITE;       }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 106 "config-lexer.l"
+#line 108 "config-lexer.l"
 { return IRC;          }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 107 "config-lexer.l"
+#line 109 "config-lexer.l"
 { return KLINE;        }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 108 "config-lexer.l"
+#line 110 "config-lexer.l"
 { return KEY;          }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 109 "config-lexer.l"
+#line 111 "config-lexer.l"
 { return MASK;         }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 110 "config-lexer.l"
+#line 112 "config-lexer.l"
 { return MAX_READ;     }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 111 "config-lexer.l"
+#line 113 "config-lexer.l"
 { return MODE;         }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 112 "config-lexer.l"
+#line 114 "config-lexer.l"
 { return NAME;         }
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 113 "config-lexer.l"
+#line 115 "config-lexer.l"
 { return NEGCACHE;     }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 114 "config-lexer.l"
+#line 116 "config-lexer.l"
 { return NICK;         }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 115 "config-lexer.l"
+#line 117 "config-lexer.l"
 { return NICKSERV;     }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 116 "config-lexer.l"
+#line 118 "config-lexer.l"
 { return OPER;         }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 117 "config-lexer.l"
+#line 119 "config-lexer.l"
 { return OPM;          }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 118 "config-lexer.l"
+#line 120 "config-lexer.l"
 { return OPTIONS;      }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 119 "config-lexer.l"
+#line 121 "config-lexer.l"
 { return PASSWORD;     }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 120 "config-lexer.l"
+#line 122 "config-lexer.l"
 { return PERFORM;      }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 121 "config-lexer.l"
+#line 123 "config-lexer.l"
 { return PIDFILE;      }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 122 "config-lexer.l"
+#line 124 "config-lexer.l"
 { return PORT;         }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 123 "config-lexer.l"
+#line 125 "config-lexer.l"
 { return PROTOCOL;     }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 124 "config-lexer.l"
+#line 126 "config-lexer.l"
 { return REALNAME;     }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 125 "config-lexer.l"
+#line 127 "config-lexer.l"
 { return REPLY;        }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 126 "config-lexer.l"
+#line 128 "config-lexer.l"
 { return SCANLOG;      }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 127 "config-lexer.l"
+#line 129 "config-lexer.l"
 { return SCANNER;      }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 128 "config-lexer.l"
+#line 130 "config-lexer.l"
 { return SENDMAIL;     }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 129 "config-lexer.l"
+#line 131 "config-lexer.l"
 { return SERVER;       }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 130 "config-lexer.l"
+#line 132 "config-lexer.l"
 { return TARGET_IP;    }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 131 "config-lexer.l"
+#line 133 "config-lexer.l"
 { return TARGET_PORT;  }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 132 "config-lexer.l"
+#line 134 "config-lexer.l"
 { return TARGET_STRING;}
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 133 "config-lexer.l"
+#line 135 "config-lexer.l"
 { return TIMEOUT;      }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 134 "config-lexer.l"
+#line 136 "config-lexer.l"
 { return TYPE;         }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 135 "config-lexer.l"
+#line 137 "config-lexer.l"
 { return USER;         }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 136 "config-lexer.l"
+#line 138 "config-lexer.l"
 { return USERNAME;     }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 137 "config-lexer.l"
+#line 139 "config-lexer.l"
 { return VHOST;        }
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 140 "config-lexer.l"
+#line 142 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTP;
                           return PROTOCOLTYPE;
@@ -1273,7 +1275,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 145 "config-lexer.l"
+#line 147 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTPPOST;
                           return PROTOCOLTYPE;
@@ -1281,7 +1283,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 150 "config-lexer.l"
+#line 152 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SOCKS4;
                           return PROTOCOLTYPE;
@@ -1289,7 +1291,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 155 "config-lexer.l"
+#line 157 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SOCKS5;
                           return PROTOCOLTYPE;
@@ -1297,7 +1299,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 160 "config-lexer.l"
+#line 162 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_WINGATE;
                           return PROTOCOLTYPE;
@@ -1305,7 +1307,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 165 "config-lexer.l"
+#line 167 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_ROUTER;
                           return PROTOCOLTYPE;
@@ -1313,7 +1315,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 171 "config-lexer.l"
+#line 173 "config-lexer.l"
 {
                            yylval.number=atoi(yytext); 
                            return NUMBER;
@@ -1321,7 +1323,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 180 "config-lexer.l"
+#line 182 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
@@ -1329,7 +1331,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 184 "config-lexer.l"
+#line 186 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
@@ -1337,7 +1339,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 188 "config-lexer.l"
+#line 190 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
@@ -1345,7 +1347,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 195 "config-lexer.l"
+#line 197 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
@@ -1353,7 +1355,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 200 "config-lexer.l"
+#line 202 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
@@ -1361,7 +1363,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 205 "config-lexer.l"
+#line 207 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
@@ -1370,29 +1372,29 @@ YY_RULE_SETUP
 case 60:
 /* rule 60 can match eol */
 YY_RULE_SETUP
-#line 212 "config-lexer.l"
-{ 
-                           strcpy(linebuf, yytext+1); 
-                           linenum++; 
-                           yyless(1); 
-                        }
+#line 213 "config-lexer.l"
+{
+                           strlcpy(linebuf, yytext + 1, sizeof(linebuf));
+                           ++linenum;
+                           yyless(1);
+                         }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 218 "config-lexer.l"
+#line 219 "config-lexer.l"
 /* ignore whitespace */;
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 220 "config-lexer.l"
+#line 221 "config-lexer.l"
 return yytext[0]; 
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 222 "config-lexer.l"
+#line 223 "config-lexer.l"
 ECHO;
        YY_BREAK
-#line 1396 "config-lexer.c"
+#line 1398 "config-lexer.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -1685,7 +1687,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 284 )
+                       if ( yy_current_state >= 285 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1713,11 +1715,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 284 )
+               if ( yy_current_state >= 285 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 283);
+       yy_is_jam = (yy_current_state == 284);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2350,15 +2352,10 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 222 "config-lexer.l"
-
+#line 223 "config-lexer.l"
 
 
 
-void hashcomment(void)
-{
-}
-
 
 /* C-comment ignoring routine -kre*/
 void ccomment(void)
index 188b7f74d8332acb43f0eda9e11c59fb53bc55be..71ae0f6a046e61b9cfed6056039ba9d727917c86 100644 (file)
 %{
 #include <stdio.h>
 #include <string.h>
+
+#include "inet.h"
+#include "compat.h"
 #include "config.h"
 #include "config-parser.h"
 
 
 void ccomment(void);
-void hashcomment(void);
 
 int linenum = 1;
 char linebuf[512];
@@ -44,14 +46,14 @@ char linebuf[512];
 %}
 
 string                 \"[^\"\n]*[\"\n]
-comment                #.*
+comment                ("//"|"#").*
 whitespace             [ \t\r]*
 
 %%
 
 "/*"                    { ccomment(); }
 
-{comment}               { hashcomment(); }
+{comment}               ;
 
 {string}                {
                            /* QSTRING from Hybrid7. Why re-invent the wheel? */
@@ -208,12 +210,11 @@ OFF                      {
                          }
 
 
-
-\n.*                    { 
-                           strcpy(linebuf, yytext+1); 
-                           linenum++; 
-                           yyless(1); 
-                        }
+\n.*                     {
+                           strlcpy(linebuf, yytext + 1, sizeof(linebuf));
+                           ++linenum;
+                           yyless(1);
+                         }
 
 {whitespace}            /* ignore whitespace */;
 
@@ -222,11 +223,6 @@ OFF                      {
 %%
 
 
-void hashcomment(void)
-{
-}
-
-
 /* C-comment ignoring routine -kre*/
 void ccomment(void)
 {