diff options
-rw-r--r-- | Changelog | 2 | ||||
-rw-r--r-- | findutils/grep.c | 9 | ||||
-rw-r--r-- | grep.c | 9 |
3 files changed, 14 insertions, 6 deletions
@@ -1,5 +1,7 @@ 0.42 * Made tar creation support in busybox tar optional. + * Made grep and grep -h do the right thing wrt printing + the file name (it failed to print files names in many cases). -Erik Andersen diff --git a/findutils/grep.c b/findutils/grep.c index fdfc959..287d9f8 100644 --- a/findutils/grep.c +++ b/findutils/grep.c @@ -90,8 +90,8 @@ extern int grep_main (int argc, char **argv) char *cp; char *needle; char *fileName; - int tellName=FALSE; - int ignoreCase=FALSE; + int tellName=TRUE; + int ignoreCase=TRUE; int tellLine=FALSE; @@ -115,7 +115,7 @@ extern int grep_main (int argc, char **argv) break; case 'h': - tellName = TRUE; + tellName = FALSE; break; case 'n': @@ -137,6 +137,9 @@ extern int grep_main (int argc, char **argv) if (argc==0) { do_grep( stdin, needle, "stdin", FALSE, ignoreCase, tellLine); } else { + /* Never print the filename for just one file */ + if (argc==1) + tellName=FALSE; while (argc-- > 0) { fileName = *argv++; @@ -90,8 +90,8 @@ extern int grep_main (int argc, char **argv) char *cp; char *needle; char *fileName; - int tellName=FALSE; - int ignoreCase=FALSE; + int tellName=TRUE; + int ignoreCase=TRUE; int tellLine=FALSE; @@ -115,7 +115,7 @@ extern int grep_main (int argc, char **argv) break; case 'h': - tellName = TRUE; + tellName = FALSE; break; case 'n': @@ -137,6 +137,9 @@ extern int grep_main (int argc, char **argv) if (argc==0) { do_grep( stdin, needle, "stdin", FALSE, ignoreCase, tellLine); } else { + /* Never print the filename for just one file */ + if (argc==1) + tellName=FALSE; while (argc-- > 0) { fileName = *argv++; |