Initial commit at Mon May 18 09:27:46 EDT 2015 by tim on stravinsky

This commit is contained in:
Tim Edwards
2015-05-18 09:27:46 -04:00
commit d5e9f81cb0
129 changed files with 65358 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
#ifdef HAVE_REGCMP
typedef char *Regexp;
Regexp regcmp(char *s, ...);
#define RegexpCompile(a) regcmp(a, (char *)0)
#define REGEXP_FREE_TEMPLATE
char *regex(char *re, char *s);
#define RegexpMatch(a,b) (regex((a),(b)) != NULL)
#endif /* HAVE_REGCMP */
#ifdef HAVE_RE_COMP
typedef char *Regexp;
Regexp re_comp(char *s);
#define RegexpCompile(a) re_comp(a)
/* re_comp returns an error code, not a regexp, so... */
#undef REGEXP_FREE_TEMPLATE
extern int re_exec(char *s);
#define RegexpMatch(a,b) re_exec(b)
#endif /* HAVE_RE_COMP */
#if !defined(HAVE_RE_COMP) && !defined(HAVE_REGCMP)
/*
* Definitions etc. for our own regexp(3) routines.
*
* THESE ARE SHAMELESSLY STOLEN FROM HENRY SPENCER'S UTZOO ROUTINES
* (prototypes added by MAS)
*/
#define NSUBEXP 10
typedef struct regexp {
char *startp[NSUBEXP];
char *endp[NSUBEXP];
char regstart; /* Internal use only. */
char reganch; /* Internal use only. */
char *regmust; /* Internal use only. */
int regmlen; /* Internal use only. */
char program[1]; /* Unwarranted chumminess with compiler. */
} regexp;
typedef struct regexp *Regexp;
#define RegexpCompile(a) regcomp(a)
#define RegexpMatch(a,b) regexec((a),(b))
Regexp regcomp(char *exp);
#define REGEXP_FREE_TEMPLATE
extern int regexec(regexp *prog, char *string);
extern void regsub(regexp *prog, char *source, char *dest);
extern void regerror(char *s);
#endif /* neither HAVE_RE_COMP nor HAVE_REGCMP */