From ba53003e9f27f5638c89d9a34325daad9f4e8a8c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 16 Jan 2003 17:33:52 +0000 Subject: [PATCH] The `regex' struct is both input and output. Initialize it before each use. Patch by Tim Waugh. --- m4/regex.m4 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/m4/regex.m4 b/m4/regex.m4 index 0017507edf..3e9f866e65 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,4 +1,4 @@ -#serial 12 +#serial 13 dnl Initially derived from code in GNU grep. dnl Mostly written by Jim Meyering. @@ -22,6 +22,7 @@ AC_DEFUN([jm_INCLUDED_REGEX], jm_cv_func_working_re_compile_pattern, AC_TRY_RUN( [#include +#include #include int main () @@ -30,12 +31,14 @@ AC_DEFUN([jm_INCLUDED_REGEX], const char *s; struct re_registers regs; re_set_syntax (RE_SYNTAX_POSIX_EGREP); + memset (®ex, 0, sizeof (regex)); [s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, ®ex);] /* This should fail with _Invalid character class name_ error. */ if (!s) exit (1); /* This should succeed, but doesn't for e.g. glibc-2.1.3. */ + memset (®ex, 0, sizeof (regex)); s = re_compile_pattern ("{1", 2, ®ex); if (s) @@ -43,6 +46,7 @@ AC_DEFUN([jm_INCLUDED_REGEX], /* The following example is derived from a problem report against gawk from Jorge Stolfi . */ + memset (®ex, 0, sizeof (regex)); s = re_compile_pattern ("[[anĂ¹]]*n", 7, ®ex); if (s) exit (1); -- 2.47.2