Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 2 Aug 2000 21:20:32 +0000 (21:20 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 2 Aug 2000 21:20:32 +0000 (21:20 +0000)
* posix/regex.c (compile_range): Transliate range start and end
characters to avoid empty range in case of REG_ICASE [PR libc/1842].

ChangeLog
manual/examples/popen.c
posix/regex.c

index bd00b84..1e2d1ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-08-02  Ulrich Drepper  <drepper@redhat.com>
 
+       * posix/regex.c (compile_range): Transliate range start and end
+       characters to avoid empty range in case of REG_ICASE [PR libc/1842].
+
        * sysdeps/unix/sysv/linux/ia64/bits/resource.h: Don't include
        asm/resource.h.
 
index 16ae32f..1b9ee82 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-void 
+void
 write_data (FILE * stream)
 {
   int i;
@@ -23,11 +23,16 @@ main (void)
   output = popen ("more", "w");
   if (!output)
     {
-      fprintf (stderr, "Could not run more.\n");
+      fprintf (stderr,
+              "incorrect parameters or too many files.\n");
       return EXIT_FAILURE;
     }
   write_data (output);
-  pclose (output);
+  if (pclose (output) != 0)
+    {
+      fprintf (stderr,
+              "Could not run more or other error.\n");
+    }
   return EXIT_SUCCESS;
 }
 /*@end group*/
index 8c50446..09d0a35 100644 (file)
@@ -3518,9 +3518,9 @@ compile_range (range_start_char, p_ptr, pend, translate, syntax, b)
 
   /* Fetch the endpoints without translating them; the
      appropriate translation is done in the bit-setting loop below.  */
-  range_start[0] = range_start_char;
+  range_start[0] = TRANSLATE (range_start_char);
   range_start[1] = '\0';
-  range_end[0] = p[0];
+  range_end[0] = TRANSLATE (p[0]);
   range_end[1] = '\0';
 
   /* Have to increment the pointer into the pattern string, so the