aboutsummaryrefslogtreecommitdiffstats
path: root/core/busybox/busybox-1.12.1-grep.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/busybox/busybox-1.12.1-grep.patch')
-rw-r--r--core/busybox/busybox-1.12.1-grep.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/core/busybox/busybox-1.12.1-grep.patch b/core/busybox/busybox-1.12.1-grep.patch
new file mode 100644
index 0000000000..20404fccf8
--- /dev/null
+++ b/core/busybox/busybox-1.12.1-grep.patch
@@ -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, ':');
+ }