[PATCH] Make regex usable outside libc
Germana Ricci
bonzini@gnu.org
Fri Nov 22 04:57:00 GMT 2002
This patch is required to have regex compile when used outside libc.
BTW, Isamu, your patch is great! It does not work cleanly however because
of two stray START_TIMER/STOP_TIMER left in the source, and because you
forgot to prototype expand_eclosures_sub.
Paolo
2002-11-22 Paolo Bonzini (bonzini@gnu.org)
* regcomp.c (re_compile_fastmap_iter): __wcrtomb -> wcrtomb
(regcomp): __re_compile_fastmap -> re_compile_fastmap
* regex.c: include config.h and define RE_ENABLE_I18N
if appropriate
diff -rNU3 isamu/regcomp.c mine/regcomp.c
--- isamu/regcomp.c Fri Nov 22 12:04:37 2002
+++ mine/regcomp.c Fri Nov 22 12:04:31 2002
@@ -407,7 +407,7 @@
char buf[256];
mbstate_t state;
memset (&state, '\0', sizeof (state));
- __wcrtomb (buf, cset->mbchars[i], &state);
+ wcrtomb (buf, cset->mbchars[i], &state);
re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
}
}
@@ -503,7 +503,7 @@
if (BE (ret == REG_NOERROR, 1))
/* Compute the fastmap now, since regexec cannot modify the pattern
buffer. This function nevers fails in this implementation. */
- (void) __re_compile_fastmap (preg);
+ (void) re_compile_fastmap (preg);
else
{
/* Some error occurred while compiling the expression. */
diff -rNU3 isamu/regex.c mine/regex.c
--- isamu/regex.c Fri Nov 22 12:04:37 2002
+++ mine/regex.c Fri Nov 22 12:04:31 2002
@@ -41,6 +41,14 @@
# define re_compile_fastmap(bufp) __re_compile_fastmap (bufp)
#endif
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#if (HAVE_WCTYPE_H && HAVE_WCHAR_H) || _LIBC
+#define RE_ENABLE_I18N
+#endif
+
#if _LIBC || __GNUC__ >= 3
# define BE(expr, val) __builtin_expect (expr, val)
#else
More information about the Libc-alpha
mailing list