// // aegis - project change supervisor // Copyright (C) 1998-2000, 2004-2006, 2008 Peter Miller // // 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 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see // . // #ifndef COMMON_AC_REGEX_H #define COMMON_AC_REGEX_H // // The rxposix.h and regex.h include files need size_t. We make this // file indempotent, so that code which includes *this* file doesn't // need to worry about the include file ordering. // #include #include #if HAVE_RXPOSIX_H && HAVE_LIBRX extern "C" { #include } #else #if HAVE_REGEX_H // // The GNU Rx library has a broken usage of __restrict, // and we need to make sure it doesn't foul the compiler. // #undef __restrict_arr #define __restrict_arr #include #undef __restrict_arr #else // // Fake just enough to get things to compile. // #define regex_t int struct regmatch_t { int rm_so; int rm_eo; }; #define REG_EXTENDED 0 #define REG_NOSUB 0 #define REG_NOMATCH -1 #define REG_NOTBOL 0 int regcomp(regex_t *preg, const char *regex, int cflags); int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t *pmatch, int eflags); size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size); void regfree(regex_t *preg); #endif #endif #endif // COMMON_AC_REGEX_H