From 68a07bf03b7624c9924065cce9ffa45497225834 Mon Sep 17 00:00:00 2001 From: Akinori Ito Date: Thu, 8 Nov 2001 05:14:08 +0000 Subject: Initial revision --- regex.h | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 regex.h (limited to 'regex.h') diff --git a/regex.h b/regex.h new file mode 100644 index 0000000..702a269 --- /dev/null +++ b/regex.h @@ -0,0 +1,56 @@ +#define REGEX_MAX 64 +#define STORAGE_MAX 256 + +#ifndef NULL +#define NULL 0 +#endif /* not NULL */ + +#define RE_NORMAL 0 +#define RE_MATCHMODE 0x07 +#define RE_ANY 0x01 +#define RE_WHICH 0x02 +#define RE_EXCEPT 0x04 +#define RE_ANYTIME 0x08 +#define RE_BEGIN 0x10 +#define RE_END 0x20 +#define RE_IGNCASE 0x40 +#define RE_ENDMARK 0x80 + +typedef unsigned short longchar; + + +typedef struct { + + longchar *pattern; + + unsigned char mode; + +} regexchar; + + +typedef struct { + + regexchar re[REGEX_MAX]; + + longchar storage[STORAGE_MAX]; + + char *position; + + char *lposition; + +} Regex; + + +Regex *newRegex(char *ex, int igncase, Regex * regex, char **error_msg); + +int RegexMatch(Regex * re, char *str, int len, int firstp); + +void MatchedPosition(Regex * re, char **first, char **last); + + +/* backward compatibility */ +char *regexCompile(char *ex, int igncase); + +int regexMatch(char *str, int len, int firstp); + +void matchedPosition(char **first, char **last); -- cgit v1.2.3