From: Jim Meyering Date: Thu, 16 Jan 2003 18:30:31 +0000 (+0000) Subject: The `regex' struct is both input and output. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b081927a0415be99df7e48128e1cd42f6657510e;p=pspp 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 d80eafb2ce..a31ef2c070 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,4 +1,4 @@ -#serial 13 +#serial 14 dnl Initially derived from code in GNU grep. dnl Mostly written by Jim Meyering. @@ -27,6 +27,7 @@ AC_DEFUN([jm_INCLUDED_REGEX], jm_cv_func_working_re_compile_pattern, AC_TRY_RUN( [#include +#include #include int main () @@ -35,12 +36,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) @@ -48,6 +51,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);