diff --git a/grep-empty-pattern.patch b/grep-empty-pattern.patch new file mode 100644 index 0000000..acb702a --- /dev/null +++ b/grep-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 diff --git a/grep.spec b/grep.spec index b59feb8..19d00bb 100644 --- a/grep.spec +++ b/grep.spec @@ -1,7 +1,7 @@ Summary: The GNU versions of grep pattern matching utilities. Name: grep Version: 2.5.1 -Release: 55%{?dist} +Release: 56%{?dist} License: GPL Group: Applications/Text Source: ftp://ftp.gnu.org/pub/gnu/grep/grep-%{version}a.tar.bz2 @@ -19,6 +19,7 @@ Patch12: grep-2.5.1-tests.patch Patch13: grep-2.5.1-w.patch Patch14: grep-P.patch Patch15: grep-mem-exhausted.patch +Patch16: grep-empty-pattern.patch URL: http://www.gnu.org/software/grep/ Prereq: /sbin/install-info Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -49,6 +50,7 @@ utility for searching through text. %patch13 -p1 -b .w %patch14 -p1 -b .P %patch15 -p1 -b .mem-exhausted +%patch16 -p1 -b .empty-pattern chmod a+x tests/fmbtest.sh %build @@ -98,6 +100,9 @@ fi %{_mandir}/*/* %changelog +* Wed Nov 22 2006 Tim Waugh 2.5.1-56 +- Fixed count of patterns when the last is an empty string (bug #204255). + * Wed Nov 22 2006 Tim Waugh 2.5.1-55 - Fix 'memory exhausted' errors by limiting in-memory buffer (bug #198165).