home *** CD-ROM | disk | FTP | other *** search
- /*
- * BSD style entry points for the GNU regular expression package.
- * Edwin Hoogerbeets 18/07/89
- *
- * This file may be copied and distributed under the GNU Public
- * Licence. See the comment at the top of regex.c for details.
- *
- * Adapted from Elib by Jim Mackraz, mklib by Edwin Hoogerbeets, and the
- * GNU regular expression package by the Free Software Foundation.
- */
-
-
- #include "regex.h"
-
- /* Entry points compatible with bsd4.2 regex library.
- * These must be in a .lib file since they use a global variable
- * to store the "previous regular expression" that vi is fond of.
- */
-
- static struct re_pattern_buffer re_comp_buf;
-
- extern char *malloc();
-
- char *re_BSD_initialize()
- {
- return(re_initialize_buffer(&re_comp_buf,__Upcase));
- }
-
- void re_BSD_terminate()
- {
- re_terminate_buffer(&re_comp_buf);
- }
-
- char *
- re_comp(s)
- char *s;
- {
- if ( !s ) {
- if ( !(re_comp_buf.buffer) )
- return ("No previous regular expression");
- return((char *)0L);
- }
-
- if ( !re_comp_buf.buffer ) {
- register char *result;
-
- if ( (result = re_BSD_initialize()) ) {
- return( result );
- }
- }
-
- return( (char *) re_compile_pattern(s, (long) strlen(s), &re_comp_buf,
- RE_SYNTAX_GREP) );
- }
-
- LONG
- re_exec(s)
- char *s;
- {
- long len = strlen (s);
- return( (long) 0 <= re_search(&re_comp_buf, s, len, 0L, len, 0L) );
- }
-
-
-
-
-