/* kbs - Simple, easily fooled, POP3 spam filter Copyright (C) 2003 Ian Cowburn (ianc@noddybox.demon.co.uk) 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 ------------------------------------------------------------------------- Common utilities */ static const char id[]="$Id$"; #include #include #include "global.h" #include "rexp.h" #include "config.h" #include "util.h" /* ---------------------------------------- INTERFACES */ RE_Expression RECompile(const char *regexpr) { regex_t *re; int flags; re=Malloc(sizeof *re); flags=REG_EXTENDED|REG_NOSUB; if (!ConfigInt(CONFIG_CASESENSE)) flags|=REG_ICASE; if (regcomp(re,regexpr,flags)) { free(re); re=NULL; } return re; } int RESearch(const RE_Expression re, const char *string) { return !regexec(re,string,0,NULL,0); } void REFree(RE_Expression re) { if (re) { regfree(re); free(re); } } /* END OF FILE */