45a556bf99
Mon Jan 05 2004 Tim Waugh <twaugh@redhat.com> 2.5.1-7.8 - Fixed -o -i properly in a way that avoids glibc bug #112869.
49 lines
1.7 KiB
Diff
49 lines
1.7 KiB
Diff
--- grep-2.5.1/lib/posix/regex.h.oi 2004-01-05 12:09:12.984391131 +0000
|
|
+++ grep-2.5.1/lib/posix/regex.h 2004-01-05 12:09:24.717990622 +0000
|
|
@@ -109,6 +109,10 @@
|
|
If not set, \{, \}, {, and } are literals. */
|
|
#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
|
|
|
|
+/* If this bit is set, then ignore case when matching.
|
|
+ If not set, then case is significant. */
|
|
+#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1)
|
|
+
|
|
/* If this bit is set, +, ? and | aren't recognized as operators.
|
|
If not set, they are. */
|
|
#define RE_LIMITED_OPS (RE_INTERVALS << 1)
|
|
--- grep-2.5.1/src/search.c.oi 2004-01-05 12:07:00.550199415 +0000
|
|
+++ grep-2.5.1/src/search.c 2004-01-05 12:07:00.566197505 +0000
|
|
@@ -31,7 +31,7 @@
|
|
|
|
#include "system.h"
|
|
#include "grep.h"
|
|
-#include "regex.h"
|
|
+#include <regex.h>
|
|
#include "dfa.h"
|
|
#include "kwset.h"
|
|
#include "error.h"
|
|
@@ -190,7 +190,7 @@
|
|
size_t total = size;
|
|
char const *motif = pattern;
|
|
|
|
- re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE);
|
|
+ re_set_syntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE | (match_icase ? RE_ICASE : 0));
|
|
dfasyntax (RE_SYNTAX_GREP | RE_HAT_LISTS_NOT_NEWLINE, match_icase, eolbyte);
|
|
|
|
/* For GNU regex compiler we have to pass the patterns separately to detect
|
|
@@ -268,12 +268,12 @@
|
|
|
|
if (strcmp (matcher, "awk") == 0)
|
|
{
|
|
- re_set_syntax (RE_SYNTAX_AWK);
|
|
+ re_set_syntax (RE_SYNTAX_AWK | (match_icase ? RE_ICASE : 0));
|
|
dfasyntax (RE_SYNTAX_AWK, match_icase, eolbyte);
|
|
}
|
|
else
|
|
{
|
|
- re_set_syntax (RE_SYNTAX_POSIX_EGREP);
|
|
+ re_set_syntax (RE_SYNTAX_POSIX_EGREP | (match_icase ? RE_ICASE : 0));
|
|
dfasyntax (RE_SYNTAX_POSIX_EGREP, match_icase, eolbyte);
|
|
}
|
|
|