From: Jim Meyering Date: Thu, 16 Jan 2003 17:33:52 +0000 (+0000) Subject: The `regex' struct is both input and output. X-Git-Tag: v4.5.5~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba53003e9f27f5638c89d9a34325daad9f4e8a8c;p=thirdparty%2Fcoreutils.git The `regex' struct is both input and output. Initialize it before each use. Patch by Tim Waugh. --- 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);