From 86ee08b08e6fa344bc22b28a7fe1cb0f810d7fec Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Mon, 28 Nov 2005 16:53:28 +0000 Subject: Add new regex code from glibc, this is almost double size of the earlier one, but passes sed tests (and thus allows making sed shrink from 91k to 42k --- libc/misc/regex/_regex.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 libc/misc/regex/_regex.h (limited to 'libc/misc/regex/_regex.h') diff --git a/libc/misc/regex/_regex.h b/libc/misc/regex/_regex.h new file mode 100644 index 000000000..cf3a5a2c1 --- /dev/null +++ b/libc/misc/regex/_regex.h @@ -0,0 +1,45 @@ +/* this file is copied from libc/include/regex.h */ + +#ifndef _REGEX_H +#include + +/* Document internal interfaces. */ +extern reg_syntax_t __re_set_syntax (reg_syntax_t syntax); + +extern const char *__re_compile_pattern (const char *pattern, size_t length, + struct re_pattern_buffer *buffer); + +extern int __re_compile_fastmap (struct re_pattern_buffer *buffer); + +extern int __re_search (struct re_pattern_buffer *buffer, const char *string, + int length, int start, int range, + struct re_registers *regs); + +extern int __re_search_2 + (struct re_pattern_buffer *buffer, const char *string1, + int length1, const char *string2, int length2, + int start, int range, struct re_registers *regs, int stop); + +extern int __re_match + (struct re_pattern_buffer *buffer, const char *string, + int length, int start, struct re_registers *regs); + +extern int __re_match_2 + (struct re_pattern_buffer *buffer, const char *string1, + int length1, const char *string2, int length2, + int start, struct re_registers *regs, int stop); + +extern void __re_set_registers + (struct re_pattern_buffer *buffer, struct re_registers *regs, + unsigned num_regs, regoff_t *starts, regoff_t *ends); + +extern int __regcomp (regex_t *__preg, const char *__pattern, int __cflags); + +extern int __regexec (const regex_t *__preg, const char *__string, + size_t __nmatch, regmatch_t __pmatch[], int __eflags); + +extern size_t __regerror (int __errcode, const regex_t *__preg, + char *__errbuf, size_t __errbuf_size); + +extern void __regfree (regex_t *__preg); +#endif -- cgit v1.2.3