From: michael Date: Wed, 7 Jan 2015 20:45:06 +0000 (+0000) Subject: - Move malloc.c to memory.c X-Git-Tag: 1.1.0beta1~189 X-Git-Url: http://git.serene-ircd.net/?a=commitdiff_plain;h=509fed426de5a29f031ed26f2e36b4434914d43c;p=hopm.git - Move malloc.c to memory.c git-svn-id: svn://svn.ircd-hybrid.org/svnroot/hopm/trunk@5333 82007160-df01-0410-b94d-b575c5fd34c7 --- diff --git a/configure b/configure index 6e3c636..fc301d2 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Id: configure.ac 4980 2014-12-05 14:30:16Z michael . +# From configure.ac Id: configure.ac 5314 2015-01-06 13:27:34Z michael . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for hopm TRUNK. # diff --git a/src/Makefile.am b/src/Makefile.am index b2492dc..4f49da6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,8 +23,8 @@ hopm_SOURCES = compat.c \ log.h \ main.c \ main.h \ - malloc.c \ - malloc.h \ + memory.c \ + memory.h \ match.c \ match.h \ misc.c \ diff --git a/src/Makefile.in b/src/Makefile.in index 9794ed7..565f68e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -97,7 +97,7 @@ PROGRAMS = $(bin_PROGRAMS) am_hopm_OBJECTS = compat.$(OBJEXT) config.$(OBJEXT) \ config-parser.$(OBJEXT) config-lexer.$(OBJEXT) dnsbl.$(OBJEXT) \ firedns.$(OBJEXT) irc.$(OBJEXT) list.$(OBJEXT) log.$(OBJEXT) \ - main.$(OBJEXT) malloc.$(OBJEXT) match.$(OBJEXT) misc.$(OBJEXT) \ + main.$(OBJEXT) memory.$(OBJEXT) match.$(OBJEXT) misc.$(OBJEXT) \ negcache.$(OBJEXT) opercmd.$(OBJEXT) scan.$(OBJEXT) \ stats.$(OBJEXT) hopm_OBJECTS = $(am_hopm_OBJECTS) @@ -371,8 +371,8 @@ hopm_SOURCES = compat.c \ log.h \ main.c \ main.h \ - malloc.c \ - malloc.h \ + memory.c \ + memory.h \ match.c \ match.h \ misc.c \ @@ -512,8 +512,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/match.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/negcache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opercmd.Po@am__quote@ diff --git a/src/config-parser.c b/src/config-parser.c index 78b57f7..ea928be 100644 --- a/src/config-parser.c +++ b/src/config-parser.c @@ -66,7 +66,8 @@ #include #include -#include "malloc.h" + +#include "memory.h" #include "config.h" int yylex(void); @@ -75,7 +76,7 @@ int yydebug=0; void *tmp; /* Variable to temporarily hold nodes before insertion to list */ -#line 79 "config-parser.c" /* yacc.c:339 */ +#line 80 "config-parser.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -132,41 +133,42 @@ extern int yydebug; MODE = 277, NAME = 278, NEGCACHE = 279, - NICK = 280, - NICKSERV = 281, - OPER = 282, - OPM = 283, - OPTIONS = 284, - PASSWORD = 285, - PERFORM = 286, - PIDFILE = 287, - PORT = 288, - PROTOCOL = 289, - READTIMEOUT = 290, - REALNAME = 291, - REPLY = 292, - SCANLOG = 293, - SCANNER = 294, - SECONDS = 295, - MINUTES = 296, - HOURS = 297, - DAYS = 298, - WEEKS = 299, - MONTHS = 300, - YEARS = 301, - SENDMAIL = 302, - SERVER = 303, - TARGET_IP = 304, - TARGET_PORT = 305, - TARGET_STRING = 306, - TIMEOUT = 307, - TYPE = 308, - USERNAME = 309, - USER = 310, - VHOST = 311, - NUMBER = 312, - STRING = 313, - PROTOCOLTYPE = 314 + NEGCACHE_REBUILD = 280, + NICK = 281, + NICKSERV = 282, + OPER = 283, + OPM = 284, + OPTIONS = 285, + PASSWORD = 286, + PERFORM = 287, + PIDFILE = 288, + PORT = 289, + PROTOCOL = 290, + READTIMEOUT = 291, + REALNAME = 292, + REPLY = 293, + SCANLOG = 294, + SCANNER = 295, + SECONDS = 296, + MINUTES = 297, + HOURS = 298, + DAYS = 299, + WEEKS = 300, + MONTHS = 301, + YEARS = 302, + SENDMAIL = 303, + SERVER = 304, + TARGET_IP = 305, + TARGET_PORT = 306, + TARGET_STRING = 307, + TIMEOUT = 308, + TYPE = 309, + USERNAME = 310, + USER = 311, + VHOST = 312, + NUMBER = 313, + STRING = 314, + PROTOCOLTYPE = 315 }; #endif /* Tokens. */ @@ -192,53 +194,54 @@ extern int yydebug; #define MODE 277 #define NAME 278 #define NEGCACHE 279 -#define NICK 280 -#define NICKSERV 281 -#define OPER 282 -#define OPM 283 -#define OPTIONS 284 -#define PASSWORD 285 -#define PERFORM 286 -#define PIDFILE 287 -#define PORT 288 -#define PROTOCOL 289 -#define READTIMEOUT 290 -#define REALNAME 291 -#define REPLY 292 -#define SCANLOG 293 -#define SCANNER 294 -#define SECONDS 295 -#define MINUTES 296 -#define HOURS 297 -#define DAYS 298 -#define WEEKS 299 -#define MONTHS 300 -#define YEARS 301 -#define SENDMAIL 302 -#define SERVER 303 -#define TARGET_IP 304 -#define TARGET_PORT 305 -#define TARGET_STRING 306 -#define TIMEOUT 307 -#define TYPE 308 -#define USERNAME 309 -#define USER 310 -#define VHOST 311 -#define NUMBER 312 -#define STRING 313 -#define PROTOCOLTYPE 314 +#define NEGCACHE_REBUILD 280 +#define NICK 281 +#define NICKSERV 282 +#define OPER 283 +#define OPM 284 +#define OPTIONS 285 +#define PASSWORD 286 +#define PERFORM 287 +#define PIDFILE 288 +#define PORT 289 +#define PROTOCOL 290 +#define READTIMEOUT 291 +#define REALNAME 292 +#define REPLY 293 +#define SCANLOG 294 +#define SCANNER 295 +#define SECONDS 296 +#define MINUTES 297 +#define HOURS 298 +#define DAYS 299 +#define WEEKS 300 +#define MONTHS 301 +#define YEARS 302 +#define SENDMAIL 303 +#define SERVER 304 +#define TARGET_IP 305 +#define TARGET_PORT 306 +#define TARGET_STRING 307 +#define TIMEOUT 308 +#define TYPE 309 +#define USERNAME 310 +#define USER 311 +#define VHOST 312 +#define NUMBER 313 +#define STRING 314 +#define PROTOCOLTYPE 315 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 86 "config-parser.y" /* yacc.c:355 */ +#line 88 "config-parser.y" /* yacc.c:355 */ int number; char *string; -#line 242 "config-parser.c" /* yacc.c:355 */ +#line 245 "config-parser.c" /* yacc.c:355 */ }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 @@ -253,7 +256,7 @@ int yyparse (void); /* Copy the second part of user declarations. */ -#line 257 "config-parser.c" /* yacc.c:358 */ +#line 260 "config-parser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -495,21 +498,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 306 +#define YYLAST 311 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 65 +#define YYNTOKENS 66 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 79 +#define YYNNTS 80 /* YYNRULES -- Number of rules. */ -#define YYNRULES 149 +#define YYNRULES 151 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 324 +#define YYNSTATES 329 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 314 +#define YYMAXUTOK 315 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -523,14 +526,14 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 64, 62, - 2, 63, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 65, 63, + 2, 64, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 60, 2, 61, 2, 2, 2, 2, + 2, 2, 2, 61, 2, 62, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -549,28 +552,29 @@ static const yytype_uint8 yytranslate[] = 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59 + 55, 56, 57, 58, 59, 60 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 101, 101, 102, 105, 106, 107, 108, 109, 110, - 112, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 123, 123, 124, 125, 126, 127, 132, 134, 135, 137, - 138, 139, 140, 141, 143, 148, 154, 159, 167, 169, - 170, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 190, 196, - 202, 208, 214, 220, 226, 232, 240, 245, 250, 256, - 262, 268, 274, 284, 284, 301, 302, 304, 305, 306, - 308, 316, 324, 335, 335, 351, 352, 354, 355, 356, - 358, 368, 381, 381, 426, 427, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 440, 447, 454, 461, - 477, 483, 489, 495, 501, 520, 522, 523, 525, 526, - 527, 528, 529, 531, 537, 543, 552, 552, 571, 572, - 574, 575, 576, 577, 578, 579, 581, 588, 595, 606, - 612, 614, 615, 617, 635, 637, 638, 640, 641, 643 + 0, 103, 103, 104, 107, 108, 109, 110, 111, 112, + 114, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 125, 125, 126, 127, 128, 129, 134, 136, 137, 139, + 140, 141, 142, 143, 144, 146, 151, 156, 162, 167, + 175, 177, 178, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 198, 204, 210, 216, 222, 228, 234, 240, 248, 253, + 258, 264, 270, 276, 282, 292, 292, 309, 310, 312, + 313, 314, 316, 324, 332, 343, 343, 359, 360, 362, + 363, 364, 366, 376, 389, 389, 434, 435, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 448, 455, + 462, 469, 485, 491, 497, 503, 509, 528, 530, 531, + 533, 534, 535, 536, 537, 539, 545, 551, 560, 560, + 579, 580, 582, 583, 584, 585, 586, 587, 589, 596, + 603, 614, 620, 622, 623, 625, 643, 645, 646, 648, + 649, 651 }; #endif @@ -582,18 +586,18 @@ static const char *const yytname[] = "$end", "error", "$undefined", "AWAY", "BAN_UNKNOWN", "BLACKLIST", "BYTES", "KBYTES", "MBYTES", "CHANNEL", "CONNREGEX", "DNS_FDLIMIT", "DNSBL_FROM", "DNSBL_TO", "EXEMPT", "FD", "INVITE", "IRC", "KLINE", - "KEY", "MASK", "MAX_READ", "MODE", "NAME", "NEGCACHE", "NICK", - "NICKSERV", "OPER", "OPM", "OPTIONS", "PASSWORD", "PERFORM", "PIDFILE", - "PORT", "PROTOCOL", "READTIMEOUT", "REALNAME", "REPLY", "SCANLOG", - "SCANNER", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", - "YEARS", "SENDMAIL", "SERVER", "TARGET_IP", "TARGET_PORT", - "TARGET_STRING", "TIMEOUT", "TYPE", "USERNAME", "USER", "VHOST", - "NUMBER", "STRING", "PROTOCOLTYPE", "'{'", "'}'", "';'", "'='", "':'", - "$accept", "config", "config_items", "timespec_", "timespec", + "KEY", "MASK", "MAX_READ", "MODE", "NAME", "NEGCACHE", + "NEGCACHE_REBUILD", "NICK", "NICKSERV", "OPER", "OPM", "OPTIONS", + "PASSWORD", "PERFORM", "PIDFILE", "PORT", "PROTOCOL", "READTIMEOUT", + "REALNAME", "REPLY", "SCANLOG", "SCANNER", "SECONDS", "MINUTES", "HOURS", + "DAYS", "WEEKS", "MONTHS", "YEARS", "SENDMAIL", "SERVER", "TARGET_IP", + "TARGET_PORT", "TARGET_STRING", "TIMEOUT", "TYPE", "USERNAME", "USER", + "VHOST", "NUMBER", "STRING", "PROTOCOLTYPE", "'{'", "'}'", "';'", "'='", + "':'", "$accept", "config", "config_items", "timespec_", "timespec", "sizespec_", "sizespec", "options_entry", "options_items", - "options_item", "options_negcache", "options_pidfile", - "options_dns_fdlimit", "options_scanlog", "irc_entry", "irc_items", - "irc_item", "irc_away", "irc_kline", "irc_mode", "irc_nick", + "options_item", "options_negcache", "options_negcache_rebuild", + "options_pidfile", "options_dns_fdlimit", "options_scanlog", "irc_entry", + "irc_items", "irc_item", "irc_away", "irc_kline", "irc_mode", "irc_nick", "irc_nickserv", "irc_oper", "irc_password", "irc_perform", "irc_port", "irc_readtimeout", "irc_realname", "irc_server", "irc_username", "irc_vhost", "irc_connregex", "channel_entry", "$@1", "channel_items", @@ -623,16 +627,16 @@ static const yytype_uint16 yytoknum[] = 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 123, 125, 59, 61, 58 + 315, 123, 125, 59, 61, 58 }; # endif -#define YYPACT_NINF -149 +#define YYPACT_NINF -125 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-149))) + (!!((Yystate) == (-125))) -#define YYTABLE_NINF -127 +#define YYTABLE_NINF -129 #define yytable_value_is_error(Yytable_value) \ 0 @@ -641,39 +645,39 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -149, 122, -149, -53, -52, -46, -44, -149, -149, -149, - -149, -50, -149, -22, -149, -149, 43, 73, 113, 130, - -41, -32, -149, -34, 3, -149, -149, -149, -31, -26, - -24, -18, -17, -14, -13, -11, 4, 9, 14, 21, - 22, 25, 33, 0, -149, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, 57, -149, 39, 47, 49, 46, -149, -149, -149, - -149, -149, 108, -149, 53, 65, 75, 77, 54, -149, - -149, -149, -149, -149, 104, 96, 86, 87, -149, 95, - 97, 99, 100, 101, 106, 107, 109, 111, 114, 131, - 129, 134, 135, 136, 127, -149, 137, 138, 140, 141, - 139, -149, 142, 143, 131, 145, 146, 144, -149, -149, - 128, 132, 40, -149, -149, -149, -149, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 19, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, 158, -149, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 133, - 169, 170, 171, 172, 173, -149, 147, 174, 175, 176, - -149, 119, 177, 178, 179, 180, -149, 185, 186, 183, - -149, 189, 190, 191, 192, 194, 193, 195, 131, 196, - 197, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, 131, 131, 131, 131, 131, 131, 131, - -149, -149, -149, -149, -149, -149, -149, 198, 199, 200, - 71, -149, -149, -149, -149, -149, -149, -149, -149, 201, - 202, 203, 188, 204, 20, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, 206, 207, -149, 208, 5, - 209, 210, 211, 212, 214, 215, 216, 217, -149, -149, - -149, -149, -149, -149, -149, -149, 222, 223, 224, 221, - -149, 227, 228, 229, 231, 232, 230, -149, -149, -149, - -149, 190, 190, 190, -149, -149, -149, -149, 234, -149, - -149, -149, -149, -149, 233, 235, 236, -149, 237, 238, - 239, 226, -55, -149, 240, -149, -149, -149, -149, 241, - -149, -149, -149, -149, -149, -149, 246, 243, -149, -149, - -149, 244, -149, -149 + -125, 127, -125, -53, -49, -47, -38, -125, -125, -125, + -125, -27, -125, 7, -125, -125, 34, 83, 77, 136, + -23, -21, -125, -14, 1, -125, -125, -125, -13, -3, + 2, 8, 9, 13, 24, 30, 42, 44, 48, 57, + 64, 65, 67, 0, -125, -125, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + -125, 74, -125, 70, 71, 75, 12, -125, -125, -125, + -125, -125, 93, -125, 78, 82, 84, 86, 91, 19, + -125, -125, -125, -125, -125, -125, 47, 101, 17, 96, + -125, 106, 109, 111, 112, 113, 114, 115, 131, 132, + 87, 108, 133, 137, 138, 139, 140, -125, 134, 141, + 142, 143, 144, -125, 145, 146, 108, 108, 149, 150, + 147, -125, -125, 130, 148, 45, -125, -125, -125, -125, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 18, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + 161, -125, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 135, 172, 173, 174, 175, 176, -125, 107, + 177, 178, 179, -125, 95, 180, 181, 182, 183, 184, + -125, 189, 190, 187, -125, 193, 194, 195, 196, 198, + 197, 199, 108, 200, 201, -125, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -125, 108, 108, 108, + 108, 108, 108, 108, -125, -125, -125, -125, -125, -125, + -125, 202, 203, 204, 81, -125, -125, -125, -125, -125, + -125, -125, -125, 205, 206, 207, 192, 208, 41, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + 210, 211, -125, 212, -2, 213, 214, 215, 216, 218, + 219, 220, 221, -125, -125, -125, -125, -125, -125, -125, + -125, 226, 227, 228, 225, -125, 231, 232, 233, 235, + 236, 234, -125, -125, -125, -125, 194, 194, 194, -125, + -125, -125, -125, 238, -125, -125, -125, -125, -125, 237, + 239, 240, -125, 241, 242, 243, 230, -51, -125, 244, + -125, -125, -125, -125, 245, -125, -125, -125, -125, -125, + -125, 250, 247, -125, -125, -125, 248, -125, -125 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -681,65 +685,65 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 2, 83, 1, 0, 0, 0, 0, 3, 5, 4, + 2, 85, 1, 0, 0, 0, 0, 3, 5, 4, 7, 0, 8, 0, 6, 9, 0, 0, 0, 0, - 0, 0, 148, 0, 0, 146, 147, 57, 0, 0, + 0, 0, 150, 0, 0, 148, 149, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 40, 41, 43, 46, 44, 45, - 47, 48, 55, 49, 50, 51, 52, 53, 54, 42, - 56, 0, 122, 0, 0, 0, 0, 117, 118, 119, - 120, 121, 0, 33, 0, 0, 0, 0, 0, 28, - 29, 30, 31, 32, 0, 0, 0, 0, 145, 0, + 0, 0, 0, 0, 42, 43, 45, 48, 46, 47, + 49, 50, 57, 51, 52, 53, 54, 55, 56, 44, + 58, 0, 124, 0, 0, 0, 0, 119, 120, 121, + 122, 123, 0, 34, 0, 0, 0, 0, 0, 0, + 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, + 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, + 0, 27, 91, 0, 0, 0, 88, 89, 90, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, - 0, 116, 0, 0, 0, 0, 0, 0, 27, 89, - 0, 0, 0, 86, 87, 88, 105, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 95, 96, 97, - 99, 101, 98, 100, 103, 104, 102, 0, 144, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, - 115, 0, 0, 0, 0, 0, 26, 0, 0, 0, - 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 94, 149, 58, 72, 59, 60, 61, 62, 63, - 64, 65, 66, 10, 10, 10, 10, 10, 10, 10, - 12, 11, 67, 68, 69, 70, 71, 0, 0, 0, - 0, 76, 77, 78, 79, 123, 124, 125, 135, 0, - 0, 0, 0, 0, 0, 129, 130, 132, 131, 133, - 134, 36, 34, 35, 37, 0, 0, 84, 0, 20, - 0, 0, 0, 0, 0, 0, 0, 0, 93, 13, - 14, 15, 16, 17, 18, 19, 0, 0, 0, 0, - 75, 0, 0, 0, 0, 0, 0, 128, 90, 91, - 110, 20, 20, 20, 22, 21, 113, 106, 0, 108, - 111, 109, 112, 107, 0, 0, 0, 74, 0, 0, - 0, 0, 0, 142, 0, 127, 23, 24, 25, 0, - 82, 81, 80, 139, 137, 136, 0, 0, 141, 138, - 114, 0, 140, 143 + 97, 98, 99, 101, 103, 100, 102, 105, 106, 104, + 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 0, 0, 40, 0, + 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, + 26, 0, 0, 0, 87, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 96, 151, 60, 74, 61, + 62, 63, 64, 65, 66, 67, 68, 10, 10, 10, + 10, 10, 10, 10, 12, 11, 69, 70, 71, 72, + 73, 0, 0, 0, 0, 78, 79, 80, 81, 125, + 126, 127, 137, 0, 0, 0, 0, 0, 0, 131, + 132, 134, 133, 135, 136, 38, 35, 36, 37, 39, + 0, 0, 86, 0, 20, 0, 0, 0, 0, 0, + 0, 0, 0, 95, 13, 14, 15, 16, 17, 18, + 19, 0, 0, 0, 0, 77, 0, 0, 0, 0, + 0, 0, 130, 92, 93, 112, 20, 20, 20, 22, + 21, 115, 108, 0, 110, 113, 111, 114, 109, 0, + 0, 0, 76, 0, 0, 0, 0, 0, 144, 0, + 129, 23, 24, 25, 0, 84, 83, 82, 141, 139, + 138, 0, 0, 143, 140, 116, 0, 142, 145 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -149, -149, -149, -23, -99, -148, 23, -149, -149, 182, - -149, -149, -149, -149, -149, -149, 213, -149, -149, -149, - -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, -149, -149, -12, -149, -149, -149, -149, - -149, -149, 85, -149, -149, -149, -149, -149, 74, -149, - -149, -149, -149, -149, -149, -149, -149, -149, -149, -149, - 219, -149, -149, -149, -149, -149, -149, -25, -149, -149, - -149, -149, -149, -149, -47, -149, -149, 249, -149 + -125, -125, -125, -24, -101, -124, 25, -125, -125, 120, + -125, -125, -125, -125, -125, -125, -125, 217, -125, -125, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + -125, -125, -125, -125, -125, -125, -19, -125, -125, -125, + -125, -125, -125, 88, -125, -125, -125, -125, -125, 122, + -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, + -125, 224, -125, -125, -125, -125, -125, -125, 27, -125, + -125, -125, -125, -125, -125, -93, -125, -125, 254, -125 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 7, 210, 211, 284, 285, 8, 78, 79, - 80, 81, 82, 83, 9, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 220, 221, 222, 223, 224, 10, - 11, 122, 123, 124, 125, 12, 13, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 14, 66, - 67, 68, 69, 70, 71, 72, 234, 235, 236, 237, - 238, 239, 240, 302, 303, 15, 24, 25, 26 + -1, 1, 7, 214, 215, 289, 290, 8, 79, 80, + 81, 82, 83, 84, 85, 9, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 224, 225, 226, 227, 228, + 10, 11, 125, 126, 127, 128, 12, 13, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 14, + 66, 67, 68, 69, 70, 71, 72, 238, 239, 240, + 241, 242, 243, 244, 307, 308, 15, 24, 25, 26 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -747,131 +751,134 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 160, 27, 301, 28, 22, 20, 317, 16, 17, -73, - 29, 281, 282, 283, 18, 173, 19, 21, 30, 84, - 126, 228, 31, 23, 229, 32, 33, 34, 85, 86, - 35, 36, 89, 37, 127, 38, 39, 90, 230, 91, - 128, 119, 129, 231, 22, 92, 93, 62, 40, 94, - 95, -126, 96, 130, 41, 73, 42, 232, 63, 64, - 120, 104, 249, 23, 87, 74, 106, 97, 131, 132, - 133, 134, 98, 233, 27, 135, 28, 99, 75, 121, - 190, 276, -73, 29, 100, 101, 76, 217, 102, 256, - 218, 30, 77, 65, 219, 31, 103, 126, 32, 33, - 34, 179, 107, 35, 36, 119, 37, 110, 38, 39, - 108, 127, 109, 112, 62, 117, 113, 128, -126, 129, - 228, 40, 2, 229, 120, 63, 64, 41, 114, 42, - 130, 73, 269, 306, 307, 308, 3, 230, 115, 4, - 116, 74, 231, 121, 147, 131, 132, 133, 134, 148, - 5, 6, 135, 149, 75, 150, 232, 151, 152, 153, - 65, -92, 76, 217, 154, 155, 218, 156, 77, 157, - 219, 158, 233, 203, 204, 205, 206, 207, 208, 209, - 259, 260, 261, 262, 263, 264, 265, 161, 159, 165, - 159, 177, 162, 163, 164, 178, 167, 166, 168, 169, - 172, 170, 171, 174, 175, 250, 176, 180, 270, 277, - 191, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 212, 213, 214, 215, 216, 225, 226, 227, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 274, 251, - 254, 252, 253, 255, 257, 318, 105, 0, 0, 258, - 118, 266, 267, 268, 271, 272, 273, 275, 278, 279, - 280, 286, 287, 88, 289, 288, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 111, 299, 300, 301, 316, - 304, 309, 305, 0, 0, 310, 0, 311, 312, 313, - 314, 315, 319, 320, 321, 322, 323 + 163, 27, 22, 28, 286, 287, 288, 306, 16, -75, + 29, 322, 17, 62, 18, 176, 177, -128, 30, 129, + 73, 23, 31, 19, 63, 64, 32, 33, 34, 20, + 74, 35, 36, 130, 37, 22, 38, 39, 86, 131, + 87, 132, 232, 75, 76, 233, 122, 21, 122, 40, + 88, 91, 77, 133, 23, 41, 254, 42, 78, 234, + 65, 92, 106, 89, 235, 123, 93, 123, 134, 135, + 136, 137, 94, 95, 112, 138, 150, 96, 62, 236, + 194, 120, -128, 108, 27, 124, 28, 124, 97, 63, + 64, 261, -75, 29, 98, 237, 232, 221, 114, 233, + 222, 30, 129, 281, 223, 31, 99, 183, 100, 32, + 33, 34, 101, 234, 35, 36, 130, 37, 235, 38, + 39, 102, 131, 221, 132, 65, 222, 2, 103, 104, + 223, 105, 40, 236, 109, 110, 133, 73, 41, 111, + 42, 3, 115, 274, 4, 161, 116, 74, 117, 237, + 118, 134, 135, 136, 137, 119, 5, 6, 138, 151, + 75, 76, 311, 312, 313, 152, 162, -94, 153, 77, + 154, 155, 156, 157, 158, 78, 207, 208, 209, 210, + 211, 212, 213, 264, 265, 266, 267, 268, 269, 270, + 159, 160, 164, 162, 181, 169, 165, 166, 167, 121, + 170, 171, 172, 168, 175, 275, 174, 173, 178, 179, + 180, 255, 182, 184, 323, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 216, 217, 218, 219, 220, + 229, 230, 231, 245, 246, 247, 248, 249, 250, 251, + 252, 253, 254, 279, 256, 259, 257, 258, 260, 262, + 107, 195, 0, 0, 263, 282, 271, 272, 273, 276, + 277, 278, 280, 283, 284, 285, 291, 292, 90, 294, + 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 113, 304, 305, 306, 321, 309, 314, 310, 0, 0, + 315, 0, 316, 317, 318, 319, 320, 324, 325, 326, + 327, 328 }; static const yytype_int16 yycheck[] = { - 99, 1, 57, 3, 1, 55, 61, 60, 60, 9, - 10, 6, 7, 8, 60, 114, 60, 39, 18, 60, - 1, 1, 22, 20, 4, 25, 26, 27, 60, 63, - 30, 31, 63, 33, 15, 35, 36, 63, 18, 63, - 21, 1, 23, 23, 1, 63, 63, 1, 48, 63, - 63, 5, 63, 34, 54, 1, 56, 37, 12, 13, - 20, 61, 57, 20, 61, 11, 9, 63, 49, 50, - 51, 52, 63, 53, 1, 56, 3, 63, 24, 39, - 61, 61, 9, 10, 63, 63, 32, 16, 63, 188, - 19, 18, 38, 47, 23, 22, 63, 1, 25, 26, - 27, 61, 63, 30, 31, 1, 33, 61, 35, 36, - 63, 15, 63, 5, 1, 61, 63, 21, 5, 23, - 1, 48, 0, 4, 20, 12, 13, 54, 63, 56, - 34, 1, 61, 281, 282, 283, 14, 18, 63, 17, - 63, 11, 23, 39, 58, 49, 50, 51, 52, 62, - 28, 29, 56, 58, 24, 58, 37, 58, 58, 58, - 47, 39, 32, 16, 58, 58, 19, 58, 38, 58, - 23, 57, 53, 40, 41, 42, 43, 44, 45, 46, - 203, 204, 205, 206, 207, 208, 209, 58, 57, 62, - 57, 63, 58, 58, 58, 63, 58, 60, 58, 58, - 57, 62, 60, 58, 58, 182, 62, 122, 220, 234, - 136, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 58, 58, 62, 57, 57, 60, 58, - 57, 59, 58, 58, 58, 302, 43, -1, -1, 62, - 78, 63, 63, 63, 63, 63, 63, 63, 62, 62, - 62, 62, 62, 24, 62, 64, 62, 62, 62, 62, - 58, 58, 58, 62, 57, 66, 58, 58, 57, 63, - 58, 57, 62, -1, -1, 62, -1, 62, 62, 62, - 62, 62, 62, 62, 58, 62, 62 + 101, 1, 1, 3, 6, 7, 8, 58, 61, 9, + 10, 62, 61, 1, 61, 116, 117, 5, 18, 1, + 1, 20, 22, 61, 12, 13, 26, 27, 28, 56, + 11, 31, 32, 15, 34, 1, 36, 37, 61, 21, + 61, 23, 1, 24, 25, 4, 1, 40, 1, 49, + 64, 64, 33, 35, 20, 55, 58, 57, 39, 18, + 48, 64, 62, 62, 23, 20, 64, 20, 50, 51, + 52, 53, 64, 64, 62, 57, 59, 64, 1, 38, + 62, 62, 5, 9, 1, 40, 3, 40, 64, 12, + 13, 192, 9, 10, 64, 54, 1, 16, 5, 4, + 19, 18, 1, 62, 23, 22, 64, 62, 64, 26, + 27, 28, 64, 18, 31, 32, 15, 34, 23, 36, + 37, 64, 21, 16, 23, 48, 19, 0, 64, 64, + 23, 64, 49, 38, 64, 64, 35, 1, 55, 64, + 57, 14, 64, 62, 17, 58, 64, 11, 64, 54, + 64, 50, 51, 52, 53, 64, 29, 30, 57, 63, + 24, 25, 286, 287, 288, 59, 58, 40, 59, 33, + 59, 59, 59, 59, 59, 39, 41, 42, 43, 44, + 45, 46, 47, 207, 208, 209, 210, 211, 212, 213, + 59, 59, 59, 58, 64, 61, 59, 59, 59, 79, + 59, 59, 59, 63, 58, 224, 61, 63, 59, 59, + 63, 186, 64, 125, 307, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 59, 59, + 63, 58, 58, 61, 59, 58, 60, 59, 59, 59, + 43, 139, -1, -1, 63, 238, 64, 64, 64, 64, + 64, 64, 64, 63, 63, 63, 63, 63, 24, 63, + 65, 63, 63, 63, 63, 59, 59, 59, 63, 58, + 66, 59, 59, 58, 64, 59, 58, 63, -1, -1, + 63, -1, 63, 63, 63, 63, 63, 63, 63, 59, + 63, 63 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 66, 0, 14, 17, 28, 29, 67, 72, 79, - 104, 105, 110, 111, 123, 140, 60, 60, 60, 60, - 55, 39, 1, 20, 141, 142, 143, 1, 3, 10, - 18, 22, 25, 26, 27, 30, 31, 33, 35, 36, - 48, 54, 56, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 1, 12, 13, 47, 124, 125, 126, 127, - 128, 129, 130, 1, 11, 24, 32, 38, 73, 74, - 75, 76, 77, 78, 60, 60, 63, 61, 142, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 61, 81, 9, 63, 63, 63, - 61, 125, 5, 63, 63, 63, 63, 61, 74, 1, - 20, 39, 106, 107, 108, 109, 1, 15, 21, 23, - 34, 49, 50, 51, 52, 56, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 58, 62, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, - 69, 58, 58, 58, 58, 62, 60, 58, 58, 58, - 62, 60, 57, 69, 58, 58, 62, 63, 63, 61, - 107, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 61, 113, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 40, 41, 42, 43, 44, 45, 46, - 68, 69, 62, 62, 62, 62, 62, 16, 19, 23, - 99, 100, 101, 102, 103, 62, 62, 62, 1, 4, - 18, 23, 37, 53, 131, 132, 133, 134, 135, 136, - 137, 62, 62, 62, 62, 58, 58, 62, 57, 57, - 71, 58, 59, 58, 57, 58, 69, 58, 62, 68, - 68, 68, 68, 68, 68, 68, 63, 63, 63, 61, - 100, 63, 63, 63, 60, 63, 61, 132, 62, 62, - 62, 6, 7, 8, 70, 71, 62, 62, 64, 62, - 62, 62, 62, 62, 58, 58, 58, 62, 57, 58, - 58, 57, 138, 139, 58, 62, 70, 70, 70, 57, - 62, 62, 62, 62, 62, 62, 63, 61, 139, 62, - 62, 58, 62, 62 + 0, 67, 0, 14, 17, 29, 30, 68, 73, 81, + 106, 107, 112, 113, 125, 142, 61, 61, 61, 61, + 56, 40, 1, 20, 143, 144, 145, 1, 3, 10, + 18, 22, 26, 27, 28, 31, 32, 34, 36, 37, + 49, 55, 57, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 1, 12, 13, 48, 126, 127, 128, 129, + 130, 131, 132, 1, 11, 24, 25, 33, 39, 74, + 75, 76, 77, 78, 79, 80, 61, 61, 64, 62, + 144, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 62, 83, 9, 64, + 64, 64, 62, 127, 5, 64, 64, 64, 64, 64, + 62, 75, 1, 20, 40, 108, 109, 110, 111, 1, + 15, 21, 23, 35, 50, 51, 52, 53, 57, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 59, 63, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 58, 58, 70, 59, 59, 59, 59, 63, 61, + 59, 59, 59, 63, 61, 58, 70, 70, 59, 59, + 63, 64, 64, 62, 109, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 62, 115, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 41, 42, 43, + 44, 45, 46, 47, 69, 70, 63, 63, 63, 63, + 63, 16, 19, 23, 101, 102, 103, 104, 105, 63, + 63, 63, 1, 4, 18, 23, 38, 54, 133, 134, + 135, 136, 137, 138, 139, 63, 63, 63, 63, 63, + 59, 59, 63, 58, 58, 72, 59, 60, 59, 58, + 59, 70, 59, 63, 69, 69, 69, 69, 69, 69, + 69, 64, 64, 64, 62, 102, 64, 64, 64, 61, + 64, 62, 134, 63, 63, 63, 6, 7, 8, 71, + 72, 63, 63, 65, 63, 63, 63, 63, 63, 59, + 59, 59, 63, 58, 59, 59, 58, 140, 141, 59, + 63, 71, 71, 71, 58, 63, 63, 63, 63, 63, + 63, 64, 62, 141, 63, 63, 59, 63, 63 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 65, 66, 66, 67, 67, 67, 67, 67, 67, - 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, - 70, 70, 71, 71, 71, 71, 72, 73, 73, 74, - 74, 74, 74, 74, 75, 76, 77, 78, 79, 80, - 80, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 82, 83, + 0, 66, 67, 67, 68, 68, 68, 68, 68, 68, + 69, 69, 70, 70, 70, 70, 70, 70, 70, 70, + 71, 71, 72, 72, 72, 72, 73, 74, 74, 75, + 75, 75, 75, 75, 75, 76, 77, 78, 79, 80, + 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 98, 97, 99, 99, 100, 100, 100, - 101, 102, 103, 105, 104, 106, 106, 107, 107, 107, - 108, 109, 111, 110, 112, 112, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 124, 125, 125, - 125, 125, 125, 126, 127, 128, 130, 129, 131, 131, - 132, 132, 132, 132, 132, 132, 133, 134, 135, 136, - 137, 138, 138, 139, 140, 141, 141, 142, 142, 143 + 94, 95, 96, 97, 98, 100, 99, 101, 101, 102, + 102, 102, 103, 104, 105, 107, 106, 108, 108, 109, + 109, 109, 110, 111, 113, 112, 114, 114, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 126, + 127, 127, 127, 127, 127, 128, 129, 130, 132, 131, + 133, 133, 134, 134, 134, 134, 134, 134, 135, 136, + 137, 138, 139, 140, 140, 141, 142, 143, 143, 144, + 144, 145 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -880,18 +887,19 @@ static const yytype_uint8 yyr2[] = 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 0, 1, 2, 3, 3, 3, 5, 2, 1, 1, - 1, 1, 1, 1, 4, 4, 4, 4, 5, 2, + 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, + 5, 2, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 0, 6, 2, 1, 1, 1, 1, - 4, 4, 4, 0, 6, 2, 1, 1, 1, 1, - 4, 4, 0, 6, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, - 4, 4, 4, 4, 6, 5, 2, 1, 1, 1, - 1, 1, 1, 4, 4, 4, 0, 6, 2, 1, - 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, - 5, 2, 1, 4, 5, 2, 1, 1, 1, 4 + 4, 4, 4, 4, 4, 0, 6, 2, 1, 1, + 1, 1, 4, 4, 4, 0, 6, 2, 1, 1, + 1, 1, 4, 4, 0, 6, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, + 4, 4, 4, 4, 4, 4, 6, 5, 2, 1, + 1, 1, 1, 1, 1, 4, 4, 4, 0, 6, + 2, 1, 1, 1, 1, 1, 1, 1, 4, 4, + 4, 4, 5, 2, 1, 4, 5, 2, 1, 1, + 1, 4 }; @@ -1568,260 +1576,268 @@ yyreduce: switch (yyn) { case 10: -#line 112 "config-parser.y" /* yacc.c:1646 */ +#line 114 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = 0; } -#line 1574 "config-parser.c" /* yacc.c:1646 */ +#line 1582 "config-parser.c" /* yacc.c:1646 */ break; case 12: -#line 113 "config-parser.y" /* yacc.c:1646 */ +#line 115 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); } -#line 1580 "config-parser.c" /* yacc.c:1646 */ +#line 1588 "config-parser.c" /* yacc.c:1646 */ break; case 13: -#line 114 "config-parser.y" /* yacc.c:1646 */ +#line 116 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); } -#line 1586 "config-parser.c" /* yacc.c:1646 */ +#line 1594 "config-parser.c" /* yacc.c:1646 */ break; case 14: -#line 115 "config-parser.y" /* yacc.c:1646 */ +#line 117 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); } -#line 1592 "config-parser.c" /* yacc.c:1646 */ +#line 1600 "config-parser.c" /* yacc.c:1646 */ break; case 15: -#line 116 "config-parser.y" /* yacc.c:1646 */ +#line 118 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); } -#line 1598 "config-parser.c" /* yacc.c:1646 */ +#line 1606 "config-parser.c" /* yacc.c:1646 */ break; case 16: -#line 117 "config-parser.y" /* yacc.c:1646 */ +#line 119 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); } -#line 1604 "config-parser.c" /* yacc.c:1646 */ +#line 1612 "config-parser.c" /* yacc.c:1646 */ break; case 17: -#line 118 "config-parser.y" /* yacc.c:1646 */ +#line 120 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); } -#line 1610 "config-parser.c" /* yacc.c:1646 */ +#line 1618 "config-parser.c" /* yacc.c:1646 */ break; case 18: -#line 119 "config-parser.y" /* yacc.c:1646 */ +#line 121 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); } -#line 1616 "config-parser.c" /* yacc.c:1646 */ +#line 1624 "config-parser.c" /* yacc.c:1646 */ break; case 19: -#line 120 "config-parser.y" /* yacc.c:1646 */ +#line 122 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); } -#line 1622 "config-parser.c" /* yacc.c:1646 */ +#line 1630 "config-parser.c" /* yacc.c:1646 */ break; case 20: -#line 123 "config-parser.y" /* yacc.c:1646 */ +#line 125 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = 0; } -#line 1628 "config-parser.c" /* yacc.c:1646 */ +#line 1636 "config-parser.c" /* yacc.c:1646 */ break; case 22: -#line 124 "config-parser.y" /* yacc.c:1646 */ +#line 126 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); } -#line 1634 "config-parser.c" /* yacc.c:1646 */ +#line 1642 "config-parser.c" /* yacc.c:1646 */ break; case 23: -#line 125 "config-parser.y" /* yacc.c:1646 */ +#line 127 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); } -#line 1640 "config-parser.c" /* yacc.c:1646 */ +#line 1648 "config-parser.c" /* yacc.c:1646 */ break; case 24: -#line 126 "config-parser.y" /* yacc.c:1646 */ +#line 128 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); } -#line 1646 "config-parser.c" /* yacc.c:1646 */ +#line 1654 "config-parser.c" /* yacc.c:1646 */ break; case 25: -#line 127 "config-parser.y" /* yacc.c:1646 */ +#line 129 "config-parser.y" /* yacc.c:1646 */ { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); } -#line 1652 "config-parser.c" /* yacc.c:1646 */ +#line 1660 "config-parser.c" /* yacc.c:1646 */ break; - case 34: -#line 144 "config-parser.y" /* yacc.c:1646 */ + case 35: +#line 147 "config-parser.y" /* yacc.c:1646 */ { OptionsItem->negcache = (yyvsp[-1].number); } -#line 1660 "config-parser.c" /* yacc.c:1646 */ +#line 1668 "config-parser.c" /* yacc.c:1646 */ break; - case 35: -#line 149 "config-parser.y" /* yacc.c:1646 */ + case 36: +#line 152 "config-parser.y" /* yacc.c:1646 */ + { + OptionsItem->negcache_rebuild = (yyvsp[-1].number); +} +#line 1676 "config-parser.c" /* yacc.c:1646 */ + break; + + case 37: +#line 157 "config-parser.y" /* yacc.c:1646 */ { MyFree(OptionsItem->pidfile); OptionsItem->pidfile = xstrdup((yyvsp[-1].string)); } -#line 1669 "config-parser.c" /* yacc.c:1646 */ +#line 1685 "config-parser.c" /* yacc.c:1646 */ break; - case 36: -#line 155 "config-parser.y" /* yacc.c:1646 */ + case 38: +#line 163 "config-parser.y" /* yacc.c:1646 */ { OptionsItem->dns_fdlimit = (yyvsp[-1].number); } -#line 1677 "config-parser.c" /* yacc.c:1646 */ +#line 1693 "config-parser.c" /* yacc.c:1646 */ break; - case 37: -#line 160 "config-parser.y" /* yacc.c:1646 */ + case 39: +#line 168 "config-parser.y" /* yacc.c:1646 */ { MyFree(OptionsItem->scanlog); OptionsItem->scanlog = xstrdup((yyvsp[-1].string)); } -#line 1686 "config-parser.c" /* yacc.c:1646 */ +#line 1702 "config-parser.c" /* yacc.c:1646 */ break; - case 58: -#line 191 "config-parser.y" /* yacc.c:1646 */ + case 60: +#line 199 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->away); IRCItem->away = xstrdup((yyvsp[-1].string)); } -#line 1695 "config-parser.c" /* yacc.c:1646 */ +#line 1711 "config-parser.c" /* yacc.c:1646 */ break; - case 59: -#line 197 "config-parser.y" /* yacc.c:1646 */ + case 61: +#line 205 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->kline); IRCItem->kline = xstrdup((yyvsp[-1].string)); } -#line 1704 "config-parser.c" /* yacc.c:1646 */ +#line 1720 "config-parser.c" /* yacc.c:1646 */ break; - case 60: -#line 203 "config-parser.y" /* yacc.c:1646 */ + case 62: +#line 211 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->mode); IRCItem->mode = xstrdup((yyvsp[-1].string)); } -#line 1713 "config-parser.c" /* yacc.c:1646 */ +#line 1729 "config-parser.c" /* yacc.c:1646 */ break; - case 61: -#line 209 "config-parser.y" /* yacc.c:1646 */ + case 63: +#line 217 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->nick); IRCItem->nick = xstrdup((yyvsp[-1].string)); } -#line 1722 "config-parser.c" /* yacc.c:1646 */ +#line 1738 "config-parser.c" /* yacc.c:1646 */ break; - case 62: -#line 215 "config-parser.y" /* yacc.c:1646 */ + case 64: +#line 223 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->nickserv); IRCItem->nickserv = xstrdup((yyvsp[-1].string)); } -#line 1731 "config-parser.c" /* yacc.c:1646 */ +#line 1747 "config-parser.c" /* yacc.c:1646 */ break; - case 63: -#line 221 "config-parser.y" /* yacc.c:1646 */ + case 65: +#line 229 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->oper); IRCItem->oper = xstrdup((yyvsp[-1].string)); } -#line 1740 "config-parser.c" /* yacc.c:1646 */ +#line 1756 "config-parser.c" /* yacc.c:1646 */ break; - case 64: -#line 227 "config-parser.y" /* yacc.c:1646 */ + case 66: +#line 235 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->password); IRCItem->password = xstrdup((yyvsp[-1].string)); } -#line 1749 "config-parser.c" /* yacc.c:1646 */ +#line 1765 "config-parser.c" /* yacc.c:1646 */ break; - case 65: -#line 233 "config-parser.y" /* yacc.c:1646 */ + case 67: +#line 241 "config-parser.y" /* yacc.c:1646 */ { node_t *node; node = node_create(xstrdup((yyvsp[-1].string))); list_add(IRCItem->performs, node); } -#line 1760 "config-parser.c" /* yacc.c:1646 */ +#line 1776 "config-parser.c" /* yacc.c:1646 */ break; - case 66: -#line 241 "config-parser.y" /* yacc.c:1646 */ + case 68: +#line 249 "config-parser.y" /* yacc.c:1646 */ { IRCItem->port = (yyvsp[-1].number); } -#line 1768 "config-parser.c" /* yacc.c:1646 */ +#line 1784 "config-parser.c" /* yacc.c:1646 */ break; - case 67: -#line 246 "config-parser.y" /* yacc.c:1646 */ + case 69: +#line 254 "config-parser.y" /* yacc.c:1646 */ { IRCItem->readtimeout = (yyvsp[-1].number); } -#line 1776 "config-parser.c" /* yacc.c:1646 */ +#line 1792 "config-parser.c" /* yacc.c:1646 */ break; - case 68: -#line 251 "config-parser.y" /* yacc.c:1646 */ + case 70: +#line 259 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->realname); IRCItem->realname = xstrdup((yyvsp[-1].string)); } -#line 1785 "config-parser.c" /* yacc.c:1646 */ +#line 1801 "config-parser.c" /* yacc.c:1646 */ break; - case 69: -#line 257 "config-parser.y" /* yacc.c:1646 */ + case 71: +#line 265 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->server); IRCItem->server = xstrdup((yyvsp[-1].string)); } -#line 1794 "config-parser.c" /* yacc.c:1646 */ +#line 1810 "config-parser.c" /* yacc.c:1646 */ break; - case 70: -#line 263 "config-parser.y" /* yacc.c:1646 */ + case 72: +#line 271 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->username); IRCItem->username = xstrdup((yyvsp[-1].string)); } -#line 1803 "config-parser.c" /* yacc.c:1646 */ +#line 1819 "config-parser.c" /* yacc.c:1646 */ break; - case 71: -#line 269 "config-parser.y" /* yacc.c:1646 */ + case 73: +#line 277 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->vhost); IRCItem->vhost = xstrdup((yyvsp[-1].string)); } -#line 1812 "config-parser.c" /* yacc.c:1646 */ +#line 1828 "config-parser.c" /* yacc.c:1646 */ break; - case 72: -#line 275 "config-parser.y" /* yacc.c:1646 */ + case 74: +#line 283 "config-parser.y" /* yacc.c:1646 */ { MyFree(IRCItem->connregex); IRCItem->connregex = xstrdup((yyvsp[-1].string)); } -#line 1821 "config-parser.c" /* yacc.c:1646 */ +#line 1837 "config-parser.c" /* yacc.c:1646 */ break; - case 73: -#line 284 "config-parser.y" /* yacc.c:1646 */ + case 75: +#line 292 "config-parser.y" /* yacc.c:1646 */ { node_t *node; struct ChannelConf *item; @@ -1837,44 +1853,44 @@ yyreduce: tmp = item; } -#line 1841 "config-parser.c" /* yacc.c:1646 */ +#line 1857 "config-parser.c" /* yacc.c:1646 */ break; - case 80: -#line 309 "config-parser.y" /* yacc.c:1646 */ + case 82: +#line 317 "config-parser.y" /* yacc.c:1646 */ { struct ChannelConf *item = tmp; MyFree(item->name); item->name = xstrdup((yyvsp[-1].string)); } -#line 1852 "config-parser.c" /* yacc.c:1646 */ +#line 1868 "config-parser.c" /* yacc.c:1646 */ break; - case 81: -#line 317 "config-parser.y" /* yacc.c:1646 */ + case 83: +#line 325 "config-parser.y" /* yacc.c:1646 */ { struct ChannelConf *item = tmp; MyFree(item->key); item->key = xstrdup((yyvsp[-1].string)); } -#line 1863 "config-parser.c" /* yacc.c:1646 */ +#line 1879 "config-parser.c" /* yacc.c:1646 */ break; - case 82: -#line 325 "config-parser.y" /* yacc.c:1646 */ + case 84: +#line 333 "config-parser.y" /* yacc.c:1646 */ { struct ChannelConf *item = tmp; MyFree(item->invite); item->invite = xstrdup((yyvsp[-1].string)); } -#line 1874 "config-parser.c" /* yacc.c:1646 */ +#line 1890 "config-parser.c" /* yacc.c:1646 */ break; - case 83: -#line 335 "config-parser.y" /* yacc.c:1646 */ + case 85: +#line 343 "config-parser.y" /* yacc.c:1646 */ { node_t *node; struct UserConf *item; @@ -1889,11 +1905,11 @@ yyreduce: tmp = item; } -#line 1893 "config-parser.c" /* yacc.c:1646 */ +#line 1909 "config-parser.c" /* yacc.c:1646 */ break; - case 90: -#line 359 "config-parser.y" /* yacc.c:1646 */ + case 92: +#line 367 "config-parser.y" /* yacc.c:1646 */ { struct UserConf *item = tmp; node_t *node; @@ -1902,11 +1918,11 @@ yyreduce: list_add(item->masks, node); } -#line 1906 "config-parser.c" /* yacc.c:1646 */ +#line 1922 "config-parser.c" /* yacc.c:1646 */ break; - case 91: -#line 369 "config-parser.y" /* yacc.c:1646 */ + case 93: +#line 377 "config-parser.y" /* yacc.c:1646 */ { struct UserConf *item = tmp; node_t *node; @@ -1915,11 +1931,11 @@ yyreduce: list_add(item->scanners, node); } -#line 1919 "config-parser.c" /* yacc.c:1646 */ +#line 1935 "config-parser.c" /* yacc.c:1646 */ break; - case 92: -#line 381 "config-parser.y" /* yacc.c:1646 */ + case 94: +#line 389 "config-parser.y" /* yacc.c:1646 */ { node_t *node; struct ScannerConf *item, *olditem; @@ -1963,41 +1979,41 @@ yyreduce: list_add(ScannerItemList, node); tmp = item; } -#line 1967 "config-parser.c" /* yacc.c:1646 */ +#line 1983 "config-parser.c" /* yacc.c:1646 */ break; - case 106: -#line 441 "config-parser.y" /* yacc.c:1646 */ + case 108: +#line 449 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; MyFree(item->name); item->name = xstrdup((yyvsp[-1].string)); } -#line 1977 "config-parser.c" /* yacc.c:1646 */ +#line 1993 "config-parser.c" /* yacc.c:1646 */ break; - case 107: -#line 448 "config-parser.y" /* yacc.c:1646 */ + case 109: +#line 456 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; MyFree(item->vhost); item->vhost = xstrdup((yyvsp[-1].string)); } -#line 1987 "config-parser.c" /* yacc.c:1646 */ +#line 2003 "config-parser.c" /* yacc.c:1646 */ break; - case 108: -#line 455 "config-parser.y" /* yacc.c:1646 */ + case 110: +#line 463 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; MyFree(item->target_ip); item->target_ip = xstrdup((yyvsp[-1].string)); } -#line 1997 "config-parser.c" /* yacc.c:1646 */ +#line 2013 "config-parser.c" /* yacc.c:1646 */ break; - case 109: -#line 462 "config-parser.y" /* yacc.c:1646 */ + case 111: +#line 470 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; @@ -2012,47 +2028,47 @@ yyreduce: list_add(item->target_string, node); } -#line 2016 "config-parser.c" /* yacc.c:1646 */ +#line 2032 "config-parser.c" /* yacc.c:1646 */ break; - case 110: -#line 478 "config-parser.y" /* yacc.c:1646 */ + case 112: +#line 486 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; item->fd = (yyvsp[-1].number); } -#line 2025 "config-parser.c" /* yacc.c:1646 */ +#line 2041 "config-parser.c" /* yacc.c:1646 */ break; - case 111: -#line 484 "config-parser.y" /* yacc.c:1646 */ + case 113: +#line 492 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; item->target_port = (yyvsp[-1].number); } -#line 2034 "config-parser.c" /* yacc.c:1646 */ +#line 2050 "config-parser.c" /* yacc.c:1646 */ break; - case 112: -#line 490 "config-parser.y" /* yacc.c:1646 */ + case 114: +#line 498 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; item->timeout = (yyvsp[-1].number); } -#line 2043 "config-parser.c" /* yacc.c:1646 */ +#line 2059 "config-parser.c" /* yacc.c:1646 */ break; - case 113: -#line 496 "config-parser.y" /* yacc.c:1646 */ + case 115: +#line 504 "config-parser.y" /* yacc.c:1646 */ { struct ScannerConf *item = tmp; item->max_read = (yyvsp[-1].number); } -#line 2052 "config-parser.c" /* yacc.c:1646 */ +#line 2068 "config-parser.c" /* yacc.c:1646 */ break; - case 114: -#line 502 "config-parser.y" /* yacc.c:1646 */ + case 116: +#line 510 "config-parser.y" /* yacc.c:1646 */ { struct ProtocolConf *item; struct ScannerConf *item2; @@ -2068,38 +2084,38 @@ yyreduce: node = node_create(item); list_add(item2->protocols, node); } -#line 2072 "config-parser.c" /* yacc.c:1646 */ +#line 2088 "config-parser.c" /* yacc.c:1646 */ break; - case 123: -#line 532 "config-parser.y" /* yacc.c:1646 */ + case 125: +#line 540 "config-parser.y" /* yacc.c:1646 */ { MyFree(OpmItem->dnsbl_from); OpmItem->dnsbl_from = xstrdup((yyvsp[-1].string)); } -#line 2081 "config-parser.c" /* yacc.c:1646 */ +#line 2097 "config-parser.c" /* yacc.c:1646 */ break; - case 124: -#line 538 "config-parser.y" /* yacc.c:1646 */ + case 126: +#line 546 "config-parser.y" /* yacc.c:1646 */ { MyFree(OpmItem->dnsbl_to); OpmItem->dnsbl_to = xstrdup((yyvsp[-1].string)); } -#line 2090 "config-parser.c" /* yacc.c:1646 */ +#line 2106 "config-parser.c" /* yacc.c:1646 */ break; - case 125: -#line 544 "config-parser.y" /* yacc.c:1646 */ + case 127: +#line 552 "config-parser.y" /* yacc.c:1646 */ { MyFree(OpmItem->sendmail); OpmItem->sendmail = xstrdup((yyvsp[-1].string)); } -#line 2099 "config-parser.c" /* yacc.c:1646 */ +#line 2115 "config-parser.c" /* yacc.c:1646 */ break; - case 126: -#line 552 "config-parser.y" /* yacc.c:1646 */ + case 128: +#line 560 "config-parser.y" /* yacc.c:1646 */ { node_t *node; struct BlacklistConf *item; @@ -2117,33 +2133,33 @@ yyreduce: tmp = item; } -#line 2121 "config-parser.c" /* yacc.c:1646 */ +#line 2137 "config-parser.c" /* yacc.c:1646 */ break; - case 136: -#line 581 "config-parser.y" /* yacc.c:1646 */ + case 138: +#line 589 "config-parser.y" /* yacc.c:1646 */ { struct BlacklistConf *item = tmp; MyFree(item->name); item->name = xstrdup((yyvsp[-1].string)); } -#line 2132 "config-parser.c" /* yacc.c:1646 */ +#line 2148 "config-parser.c" /* yacc.c:1646 */ break; - case 137: -#line 588 "config-parser.y" /* yacc.c:1646 */ + case 139: +#line 596 "config-parser.y" /* yacc.c:1646 */ { struct BlacklistConf *item = tmp; MyFree(item->kline); item->kline = xstrdup((yyvsp[-1].string)); } -#line 2143 "config-parser.c" /* yacc.c:1646 */ +#line 2159 "config-parser.c" /* yacc.c:1646 */ break; - case 138: -#line 595 "config-parser.y" /* yacc.c:1646 */ + case 140: +#line 603 "config-parser.y" /* yacc.c:1646 */ { struct BlacklistConf *item = tmp; @@ -2154,21 +2170,21 @@ yyreduce: else yyerror("Unknown blacklist type defined"); } -#line 2158 "config-parser.c" /* yacc.c:1646 */ +#line 2174 "config-parser.c" /* yacc.c:1646 */ break; - case 139: -#line 606 "config-parser.y" /* yacc.c:1646 */ + case 141: +#line 614 "config-parser.y" /* yacc.c:1646 */ { struct BlacklistConf *item = tmp; item->ban_unknown = (yyvsp[-1].number); } -#line 2168 "config-parser.c" /* yacc.c:1646 */ +#line 2184 "config-parser.c" /* yacc.c:1646 */ break; - case 143: -#line 618 "config-parser.y" /* yacc.c:1646 */ + case 145: +#line 626 "config-parser.y" /* yacc.c:1646 */ { struct BlacklistReplyConf *item; struct BlacklistConf *blacklist = tmp; @@ -2182,22 +2198,22 @@ yyreduce: node = node_create(item); list_add(blacklist->reply, node); } -#line 2186 "config-parser.c" /* yacc.c:1646 */ +#line 2202 "config-parser.c" /* yacc.c:1646 */ break; - case 149: -#line 644 "config-parser.y" /* yacc.c:1646 */ + case 151: +#line 652 "config-parser.y" /* yacc.c:1646 */ { node_t *node; node = node_create(xstrdup((yyvsp[-1].string))); list_add(ExemptItem->masks, node); } -#line 2197 "config-parser.c" /* yacc.c:1646 */ +#line 2213 "config-parser.c" /* yacc.c:1646 */ break; -#line 2201 "config-parser.c" /* yacc.c:1646 */ +#line 2217 "config-parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2425,5 +2441,5 @@ yyreturn: #endif return yyresult; } -#line 651 "config-parser.y" /* yacc.c:1906 */ +#line 659 "config-parser.y" /* yacc.c:1906 */ diff --git a/src/config-parser.h b/src/config-parser.h index fcdf311..20eaee2 100644 --- a/src/config-parser.h +++ b/src/config-parser.h @@ -67,41 +67,42 @@ extern int yydebug; MODE = 277, NAME = 278, NEGCACHE = 279, - NICK = 280, - NICKSERV = 281, - OPER = 282, - OPM = 283, - OPTIONS = 284, - PASSWORD = 285, - PERFORM = 286, - PIDFILE = 287, - PORT = 288, - PROTOCOL = 289, - READTIMEOUT = 290, - REALNAME = 291, - REPLY = 292, - SCANLOG = 293, - SCANNER = 294, - SECONDS = 295, - MINUTES = 296, - HOURS = 297, - DAYS = 298, - WEEKS = 299, - MONTHS = 300, - YEARS = 301, - SENDMAIL = 302, - SERVER = 303, - TARGET_IP = 304, - TARGET_PORT = 305, - TARGET_STRING = 306, - TIMEOUT = 307, - TYPE = 308, - USERNAME = 309, - USER = 310, - VHOST = 311, - NUMBER = 312, - STRING = 313, - PROTOCOLTYPE = 314 + NEGCACHE_REBUILD = 280, + NICK = 281, + NICKSERV = 282, + OPER = 283, + OPM = 284, + OPTIONS = 285, + PASSWORD = 286, + PERFORM = 287, + PIDFILE = 288, + PORT = 289, + PROTOCOL = 290, + READTIMEOUT = 291, + REALNAME = 292, + REPLY = 293, + SCANLOG = 294, + SCANNER = 295, + SECONDS = 296, + MINUTES = 297, + HOURS = 298, + DAYS = 299, + WEEKS = 300, + MONTHS = 301, + YEARS = 302, + SENDMAIL = 303, + SERVER = 304, + TARGET_IP = 305, + TARGET_PORT = 306, + TARGET_STRING = 307, + TIMEOUT = 308, + TYPE = 309, + USERNAME = 310, + USER = 311, + VHOST = 312, + NUMBER = 313, + STRING = 314, + PROTOCOLTYPE = 315 }; #endif /* Tokens. */ @@ -127,53 +128,54 @@ extern int yydebug; #define MODE 277 #define NAME 278 #define NEGCACHE 279 -#define NICK 280 -#define NICKSERV 281 -#define OPER 282 -#define OPM 283 -#define OPTIONS 284 -#define PASSWORD 285 -#define PERFORM 286 -#define PIDFILE 287 -#define PORT 288 -#define PROTOCOL 289 -#define READTIMEOUT 290 -#define REALNAME 291 -#define REPLY 292 -#define SCANLOG 293 -#define SCANNER 294 -#define SECONDS 295 -#define MINUTES 296 -#define HOURS 297 -#define DAYS 298 -#define WEEKS 299 -#define MONTHS 300 -#define YEARS 301 -#define SENDMAIL 302 -#define SERVER 303 -#define TARGET_IP 304 -#define TARGET_PORT 305 -#define TARGET_STRING 306 -#define TIMEOUT 307 -#define TYPE 308 -#define USERNAME 309 -#define USER 310 -#define VHOST 311 -#define NUMBER 312 -#define STRING 313 -#define PROTOCOLTYPE 314 +#define NEGCACHE_REBUILD 280 +#define NICK 281 +#define NICKSERV 282 +#define OPER 283 +#define OPM 284 +#define OPTIONS 285 +#define PASSWORD 286 +#define PERFORM 287 +#define PIDFILE 288 +#define PORT 289 +#define PROTOCOL 290 +#define READTIMEOUT 291 +#define REALNAME 292 +#define REPLY 293 +#define SCANLOG 294 +#define SCANNER 295 +#define SECONDS 296 +#define MINUTES 297 +#define HOURS 298 +#define DAYS 299 +#define WEEKS 300 +#define MONTHS 301 +#define YEARS 302 +#define SENDMAIL 303 +#define SERVER 304 +#define TARGET_IP 305 +#define TARGET_PORT 306 +#define TARGET_STRING 307 +#define TIMEOUT 308 +#define TYPE 309 +#define USERNAME 310 +#define USER 311 +#define VHOST 312 +#define NUMBER 313 +#define STRING 314 +#define PROTOCOLTYPE 315 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 86 "config-parser.y" /* yacc.c:1909 */ +#line 88 "config-parser.y" /* yacc.c:1909 */ int number; char *string; -#line 177 "config-parser.h" /* yacc.c:1909 */ +#line 179 "config-parser.h" /* yacc.c:1909 */ }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 diff --git a/src/config-parser.y b/src/config-parser.y index 67c67e5..7c6e9eb 100644 --- a/src/config-parser.y +++ b/src/config-parser.y @@ -25,7 +25,8 @@ %{ #include #include -#include "malloc.h" + +#include "memory.h" #include "config.h" int yylex(void); diff --git a/src/config.c b/src/config.c index 423d00a..a2449a9 100644 --- a/src/config.c +++ b/src/config.c @@ -29,7 +29,7 @@ #include "config.h" #include "config-parser.h" -#include "malloc.h" +#include "memory.h" #include "log.h" #include "scan.h" #include "irc.h" diff --git a/src/dnsbl.c b/src/dnsbl.c index 23e7ef7..d7a9e95 100644 --- a/src/dnsbl.c +++ b/src/dnsbl.c @@ -39,7 +39,7 @@ along with this program; if not, write to the Free Software #include "list.h" #include "log.h" #include "main.h" -#include "malloc.h" +#include "memory.h" #include "match.h" #include "scan.h" #include "irc.h" diff --git a/src/firedns.c b/src/firedns.c index 29266a3..49ed149 100644 --- a/src/firedns.c +++ b/src/firedns.c @@ -37,7 +37,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include #include "compat.h" -#include "malloc.h" +#include "memory.h" #include "firedns.h" #include "config.h" #include "list.h" diff --git a/src/irc.c b/src/irc.c index 11efa71..21ced4a 100644 --- a/src/irc.c +++ b/src/irc.c @@ -50,7 +50,7 @@ #include "match.h" #include "compat.h" #include "negcache.h" -#include "malloc.h" +#include "memory.h" #include "main.h" diff --git a/src/list.c b/src/list.c index 53a0a41..f77c281 100644 --- a/src/list.c +++ b/src/list.c @@ -21,7 +21,7 @@ * */ -#include "malloc.h" +#include "memory.h" #include "list.h" diff --git a/src/main.c b/src/main.c index cff06c7..87a91a9 100644 --- a/src/main.c +++ b/src/main.c @@ -45,7 +45,7 @@ along with this program; if not, write to the Free Software #include "stats.h" #include "negcache.h" #include "options.h" -#include "malloc.h" +#include "memory.h" #include "firedns.h" #include "main.h" diff --git a/src/malloc.c b/src/malloc.c deleted file mode 100644 index f1c34fe..0000000 --- a/src/malloc.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2002 Erik Fears - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to - * - * The Free Software Foundation, Inc. - * 59 Temple Place - Suite 330 - * Boston, MA 02111-1307, USA. - * - * - */ - -#include -#include -#include -#include "malloc.h" - - -/* xcalloc - * - * A wrapper function for malloc(), for catching memory issues - * and error handling. - * - * Parameters - * bytes: amount in bytes to allocate - * - * Return: - * Pointer to allocated memory - */ - -void *xcalloc(size_t bytes) -{ - void *ret = calloc(1, bytes); - assert(ret); - - return ret; -} - - - -/* MyFree - * - * Free memory allocated with xcalloc - * - * Parameters: - * var: pointer to memory to free - * - * Return: - * None - */ - -void _MyFree(void **var) -{ - assert(var != NULL); - - if(*var != NULL) - free(*var); - *var = NULL; -} - -void * -xstrdup(const char *s) -{ - void *ret = malloc(strlen(s) + 1); - - assert(ret); - strcpy(ret, s); - - return ret; -} diff --git a/src/malloc.h b/src/malloc.h deleted file mode 100644 index c777064..0000000 --- a/src/malloc.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef MALLOC_H -#define MALLOC_H - -#include - -#define MyFree(X) _MyFree((void **) &X) - -extern void *xcalloc(size_t bytes); -extern void _MyFree(void **var); -extern void *xstrdup(const char *); - -#endif /* MALLOC_H */ diff --git a/src/memory.c b/src/memory.c new file mode 100644 index 0000000..33cee16 --- /dev/null +++ b/src/memory.c @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2002 Erik Fears + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to + * + * The Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA 02111-1307, USA. + * + * + */ + +#include +#include +#include + +#include "memory.h" + + +/* xcalloc + * + * A wrapper function for malloc(), for catching memory issues + * and error handling. + * + * Parameters + * bytes: amount in bytes to allocate + * + * Return: + * Pointer to allocated memory + */ + +void *xcalloc(size_t bytes) +{ + void *ret = calloc(1, bytes); + assert(ret); + + return ret; +} + + + +/* MyFree + * + * Free memory allocated with xcalloc + * + * Parameters: + * var: pointer to memory to free + * + * Return: + * None + */ + +void _MyFree(void **var) +{ + assert(var != NULL); + + if(*var != NULL) + free(*var); + *var = NULL; +} + +void * +xstrdup(const char *s) +{ + void *ret = malloc(strlen(s) + 1); + + assert(ret); + strcpy(ret, s); + + return ret; +} diff --git a/src/memory.h b/src/memory.h new file mode 100644 index 0000000..c777064 --- /dev/null +++ b/src/memory.h @@ -0,0 +1,12 @@ +#ifndef MALLOC_H +#define MALLOC_H + +#include + +#define MyFree(X) _MyFree((void **) &X) + +extern void *xcalloc(size_t bytes); +extern void _MyFree(void **var); +extern void *xstrdup(const char *); + +#endif /* MALLOC_H */ diff --git a/src/negcache.c b/src/negcache.c index ef4e033..912bbdd 100644 --- a/src/negcache.c +++ b/src/negcache.c @@ -52,7 +52,7 @@ along with this program; if not, write to: #include "irc.h" #include "negcache.h" #include "config.h" -#include "malloc.h" +#include "memory.h" #include "log.h" diff --git a/src/opercmd.c b/src/opercmd.c index 4cd7c82..a59d120 100644 --- a/src/opercmd.c +++ b/src/opercmd.c @@ -36,7 +36,7 @@ along with this program; if not, write to the Free Software #include "opercmd.h" #include "scan.h" #include "config.h" -#include "malloc.h" +#include "memory.h" #include "list.h" #include "stats.h" diff --git a/src/scan.c b/src/scan.c index b3d3a5b..dcef636 100644 --- a/src/scan.c +++ b/src/scan.c @@ -47,7 +47,7 @@ #include "options.h" #include "negcache.h" #include "main.h" -#include "malloc.h" +#include "memory.h" #include "match.h" #include "scan.h"