diff options
Diffstat (limited to 'usr/src/lib/libast/common/comp/re_comp.c')
-rw-r--r-- | usr/src/lib/libast/common/comp/re_comp.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/usr/src/lib/libast/common/comp/re_comp.c b/usr/src/lib/libast/common/comp/re_comp.c deleted file mode 100644 index 73161646da..0000000000 --- a/usr/src/lib/libast/common/comp/re_comp.c +++ /dev/null @@ -1,81 +0,0 @@ -/*********************************************************************** -* * -* This software is part of the ast package * -* Copyright (c) 1985-2010 AT&T Intellectual Property * -* and is licensed under the * -* Common Public License, Version 1.0 * -* by AT&T Intellectual Property * -* * -* A copy of the License is available at * -* http://www.opensource.org/licenses/cpl1.0.txt * -* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * -* * -* Information and Software Systems Research * -* AT&T Research * -* Florham Park NJ * -* * -* Glenn Fowler <gsf@research.att.com> * -* David Korn <dgk@research.att.com> * -* Phong Vo <kpv@research.att.com> * -* * -***********************************************************************/ -#pragma prototyped -/* - * re_comp implementation - */ - -#include <ast.h> -#include <re_comp.h> -#include <regex.h> - -#undef error -#undef valid - -static struct -{ - char error[64]; - regex_t re; - int valid; -} state; - -char* -re_comp(const char* pattern) -{ - register int r; - - if (!pattern || !*pattern) - { - if (state.valid) - return 0; - r = REG_BADPAT; - } - else - { - if (state.valid) - { - state.valid = 0; - regfree(&state.re); - } - if (!(r = regcomp(&state.re, pattern, REG_LENIENT|REG_NOSUB|REG_NULL))) - { - state.valid = 1; - return 0; - } - } - regerror(r, &state.re, state.error, sizeof(state.error)); - return state.error; -} - -int -re_exec(const char* subject) -{ - if (state.valid && subject) - switch (regexec(&state.re, subject, 0, NiL, 0)) - { - case 0: - return 1; - case REG_NOMATCH: - return 0; - } - return -1; -} |