diff options
Diffstat (limited to 'package/busybox')
-rw-r--r-- | package/busybox/Config.in | 2 | ||||
-rw-r--r-- | package/busybox/busybox-1.7.4-grep.patch | 38 |
2 files changed, 39 insertions, 1 deletions
diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 53bd119a2..3d4ddcee6 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -36,7 +36,7 @@ config BR2_BUSYBOX_VERSION string default "1.2.2.1" if BR2_BUSYBOX_VERSION_1_2_2_1 default "1.6.1" if BR2_BUSYBOX_VERSION_1_6_1 - default "1.7.2" if BR2_BUSYBOX_VERSION_1_7_X + default "1.7.4" if BR2_BUSYBOX_VERSION_1_7_X config BR2_PACKAGE_BUSYBOX_INSTALL_SYMLINKS diff --git a/package/busybox/busybox-1.7.4-grep.patch b/package/busybox/busybox-1.7.4-grep.patch new file mode 100644 index 000000000..3599d0aa9 --- /dev/null +++ b/package/busybox/busybox-1.7.4-grep.patch @@ -0,0 +1,38 @@ +diff -urN busybox-1.7.4/findutils/grep.c busybox-1.7.4-grep/findutils/grep.c +--- busybox-1.7.4/findutils/grep.c 2007-09-03 04:48:54.000000000 -0700 ++++ busybox-1.7.4-grep/findutils/grep.c 2007-12-08 19:02:33.000000000 -0800 +@@ -154,14 +154,14 @@ + + while ((line = xmalloc_getline(file)) != NULL) { + llist_t *pattern_ptr = pattern_head; +- grep_list_data_t * gl; ++ grep_list_data_t *gl = gl; /* for gcc */ + + linenum++; + ret = 0; + while (pattern_ptr) { + gl = (grep_list_data_t *)pattern_ptr->data; + if (FGREP_FLAG) { +- ret = strstr(line, gl->pattern) != NULL; ++ ret |= (strstr(line, gl->pattern) != NULL); + } else { + /* + * test for a postitive-assertion match (regexec returns success (0) +@@ -255,8 +255,15 @@ + print_n_lines_after = lines_after; + #endif + if (option_mask32 & OPT_o) { +- line[regmatch.rm_eo] = '\0'; +- print_line(line + regmatch.rm_so, linenum, ':'); ++ if (FGREP_FLAG) { ++ /* -Fo just prints the pattern ++ * (unless -v: -Fov doesnt print anything at all) */ ++ if (ret) ++ print_line(gl->pattern, linenum, ':'); ++ } else { ++ line[regmatch.rm_eo] = '\0'; ++ print_line(line + regmatch.rm_so, linenum, ':'); ++ } + } else { + print_line(line, linenum, ':'); + } |