28 lines
926 B
Diff
28 lines
926 B
Diff
--- 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, ':');
|
|
}
|