diff options
author | Jim Meyering <jim@meyering.net> | 2003-01-16 17:33:52 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2003-01-16 17:33:52 +0000 |
commit | ba53003e9f27f5638c89d9a34325daad9f4e8a8c (patch) | |
tree | bb51ddf91bc09f4fc8ba2e1d78565e1f140ec96a /m4 | |
parent | 950fed888ab60d168f14f79579ab8b138da40de2 (diff) | |
download | coreutils-ba53003e9f27f5638c89d9a34325daad9f4e8a8c.tar.xz |
The `regex' struct is both input and output.
Initialize it before each use. Patch by Tim Waugh.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/regex.m4 | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/m4/regex.m4 b/m4/regex.m4 index 0017507ed..3e9f866e6 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 <stdio.h> +#include <string.h> #include <regex.h> 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 <stolfi@ic.unicamp.br>. */ + memset (®ex, 0, sizeof (regex)); s = re_compile_pattern ("[[anù]]*n", 7, ®ex); if (s) exit (1); |