Enable Henry Spencer's POSIX.2 compatible regular expression routines.

Disable is earlier V8-style routines.
This commit is contained in:
jtc 1993-11-11 01:16:50 +00:00
parent 8f83a67681
commit 9f78fc2f07
2 changed files with 76 additions and 1 deletions

74
include/regex.h Normal file
View File

@ -0,0 +1,74 @@
#ifndef _REGEX_H_
#define _REGEX_H_ /* never again */
/* ========= begin header generated by ./mkh ========= */
#ifdef __cplusplus
extern "C" {
#endif
/* === regex2.h === */
typedef off_t regoff_t;
typedef struct {
int re_magic;
size_t re_nsub; /* number of parenthesized subexpressions */
const char *re_endp; /* end pointer for REG_PEND */
struct re_guts *re_g; /* none of your business :-) */
} regex_t;
typedef struct {
regoff_t rm_so; /* start of match */
regoff_t rm_eo; /* end of match */
} regmatch_t;
/* === regcomp.c === */
extern int regcomp __P((regex_t *preg, const char *pattern, int cflags));
#define REG_BASIC 0000
#define REG_EXTENDED 0001
#define REG_ICASE 0002
#define REG_NOSUB 0004
#define REG_NEWLINE 0010
#define REG_NOSPEC 0020
#define REG_PEND 0040
#define REG_DUMP 0200
/* === regerror.c === */
#define REG_NOMATCH 1
#define REG_BADPAT 2
#define REG_ECOLLATE 3
#define REG_ECTYPE 4
#define REG_EESCAPE 5
#define REG_ESUBREG 6
#define REG_EBRACK 7
#define REG_EPAREN 8
#define REG_EBRACE 9
#define REG_BADBR 10
#define REG_ERANGE 11
#define REG_ESPACE 12
#define REG_BADRPT 13
#define REG_EMPTY 14
#define REG_ASSERT 15
#define REG_INVARG 16
#define REG_ATOI 255 /* convert name to number (!) */
#define REG_ITOA 0400 /* convert number to name (!) */
extern size_t regerror __P((int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size));
static char *regatoi __P((const regex_t *preg, char *localbuf));
/* === regexec.c === */
extern int regexec __P((const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags));
#define REG_NOTBOL 00001
#define REG_NOTEOL 00002
#define REG_STARTEND 00004
#define REG_TRACE 00400 /* tracing of execution */
#define REG_LARGE 01000 /* force large representation */
#define REG_BACKR 02000 /* force use of backref code */
/* === regfree.c === */
extern void regfree __P((regex_t *preg));
#ifdef __cplusplus
}
#endif
/* ========= end header generated by ./mkh ========= */
#endif

View File

@ -1,5 +1,5 @@
# from: @(#)Makefile 5.2 (Berkeley) 3/5/91
# $Id: Makefile,v 1.18 1993/11/05 22:43:47 cgd Exp $
# $Id: Makefile,v 1.19 1993/11/11 01:18:03 jtc Exp $
#
# All library objects contain sccsid strings by default; they may be
# excluded as a space-saving measure. To produce a library that does
@ -33,6 +33,7 @@ AINC= -I${.CURDIR}/arch/${MACHINE}
.include "${.CURDIR}/rpc/Makefile.inc"
.include "${.CURDIR}/quad/Makefile.inc"
.include "${.CURDIR}/dl/Makefile.inc"
.include "${.CURDIR}/regex/Makefile.inc"
LIBKERN= /sys/lib/libkern