summaryrefslogtreecommitdiffstats
path: root/abs/core/grep/15-empty-pattern.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/grep/15-empty-pattern.patch')
-rw-r--r--abs/core/grep/15-empty-pattern.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/abs/core/grep/15-empty-pattern.patch b/abs/core/grep/15-empty-pattern.patch
new file mode 100644
index 0000000..acb702a
--- /dev/null
+++ b/abs/core/grep/15-empty-pattern.patch
@@ -0,0 +1,36 @@
+--- grep-2.5.1a/src/grep.c.empty-pattern 2006-11-22 19:05:43.000000000 +0000
++++ grep-2.5.1a/src/grep.c 2006-11-22 19:22:04.000000000 +0000
+@@ -1667,9 +1667,6 @@
+ out_invert ^= 1;
+ match_lines = match_words = 0;
+ }
+- else
+- /* Strip trailing newline. */
+- --keycc;
+ }
+ else
+ if (optind < argc)
+--- grep-2.5.1a/src/search.c.empty-pattern 2006-11-22 19:21:11.000000000 +0000
++++ grep-2.5.1a/src/search.c 2006-11-22 19:35:06.000000000 +0000
+@@ -204,6 +204,10 @@
+ motif = sep;
+ } while (sep && total != 0);
+
++ /* Strip trailing newline. */
++ if (size && pattern[size - 1] == '\n')
++ size--;
++
+ /* In the match_words and match_lines cases, we use a different pattern
+ for the DFA matcher that will quickly throw out cases that won't work.
+ Then if DFA succeeds we do some hairy stuff using the regex matcher
+@@ -288,6 +292,10 @@
+ motif = sep;
+ } while (sep && total != 0);
+
++ /* Strip trailing newline. */
++ if (size && pattern[size - 1] == '\n')
++ size--;
++
+ /* In the match_words and match_lines cases, we use a different pattern
+ for the DFA matcher that will quickly throw out cases that won't work.
+ Then if DFA succeeds we do some hairy stuff using the regex matcher