summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2003-01-16 17:33:52 +0000
committerJim Meyering <jim@meyering.net>2003-01-16 17:33:52 +0000
commitba53003e9f27f5638c89d9a34325daad9f4e8a8c (patch)
treebb51ddf91bc09f4fc8ba2e1d78565e1f140ec96a /m4
parent950fed888ab60d168f14f79579ab8b138da40de2 (diff)
downloadcoreutils-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.m46
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 (&regex, 0, sizeof (regex));
[s = re_compile_pattern ("a[[:@:>@:]]b\n", 9, &regex);]
/* 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 (&regex, 0, sizeof (regex));
s = re_compile_pattern ("{1", 2, &regex);
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 (&regex, 0, sizeof (regex));
s = re_compile_pattern ("[[anù]]*n", 7, &regex);
if (s)
exit (1);