bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gnulib] Re: [patch] re_compile_pattern check is broken


From: Jim Meyering
Subject: [Bug-gnulib] Re: [patch] re_compile_pattern check is broken
Date: Thu, 16 Jan 2003 19:34:26 +0100

Tim Waugh <address@hidden> wrote:
> It was pointed out to me that the re_compile_pattern check was failing
> for some reason.  On investigation, it turns out to be a broken test.

Hi Tim!
Thanks a lot for tracking that down.
I've made that change in both coreutils and gnulib.

        * regex.m4: The `regex' struct is both input and output.
        Initialize it before each use.  Patch by Tim Waugh.

Index: m4/regex.m4
===================================================================
RCS file: /fetish/cu/m4/regex.m4,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -p -u -r1.26 -r1.27
--- m4/regex.m4 12 Aug 2001 13:26:00 -0000      1.26
+++ m4/regex.m4 16 Jan 2003 17:33:52 -0000      1.27
@@ -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 <address@hidden>.  */
+           memset (&regex, 0, sizeof (regex));
            s = re_compile_pattern ("[[anĂ¹]]*n", 7, &regex);
            if (s)
              exit (1);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]