busybox: 1.12.1 grep fix

This commit is contained in:
Peter Korsgaard 2008-10-06 18:52:02 +00:00
parent 242895ef63
commit a42c6373c4

View File

@ -0,0 +1,27 @@
--- busybox-1.12.1/findutils/grep.c Sun Sep 28 20:04:28 2008
+++ busybox-1.12.1-grep/findutils/grep.c Wed Oct 1 00:45:49 2008
@@ -363,12 +363,22 @@
* (unless -v: -Fov doesnt print anything at all) */
if (found)
print_line(gl->pattern, strlen(gl->pattern), linenum, ':');
- } else {
+ } else while (1) {
+ char old = line[gl->matched_range.rm_eo];
line[gl->matched_range.rm_eo] = '\0';
print_line(line + gl->matched_range.rm_so,
gl->matched_range.rm_eo - gl->matched_range.rm_so,
linenum, ':');
- }
+ line[gl->matched_range.rm_eo] = old;
+#if !ENABLE_EXTRA_COMPAT
+ break;
+#else
+ if (re_search(&gl->compiled_regex, line, line_len,
+ gl->matched_range.rm_eo, line_len - gl->matched_range.rm_eo,
+ &gl->matched_range) < 0)
+ break;
+#endif
+ }
} else {
print_line(line, line_len, linenum, ':');
}