This took WAY too long to see. The logs shouldn't be sorted while we're
still in the outer loop. Sort at the end once we've collected all the logs
we can.
/*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.
*/
#ifndef IGNORANCE_RULE_H
#define IGNORANCE_RULE_H
#ifdef HAVE_CONFIG_H
#include"../pp_config.h"
#endif
#include<stdlib.h>
#include<sys/types.h>
#include<glib.h>
#include<glib/gprintf.h>
#include"debug.h"
#define IGNORANCE_RULE_INVALID 0
#define IGNORANCE_RULE_MINVALID INT_MAX
#define IGNORANCE_RULE_SIMPLETEXT 1
#define IGNORANCE_RULE_SIMPLETEXT_NUMTOKENS 6
#ifdef HAVE_REGEX_H
#include<regex.h>
#define IGNORANCE_RULE_REGEX 2
#define IGNORANCE_RULE_REGEX_NUMTOKENS 6
#endif
#define IGNORANCE_RULE_REPEAT 4
#define IGNORANCE_RULE_REPEAT_NUMTOKENS 6
#define IGNORANCE_FLAG_FILTER 1
#define IGNORANCE_FLAG_IGNORE 2
#define IGNORANCE_FLAG_MESSAGE 4
#define IGNORANCE_FLAG_EXECUTE 8
#define IGNORANCE_FLAG_SOUND 16
/*
* describes an ignorance rule
*
* name - user's name for the rule
* type - one of the ruletypes defined within this struct