summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog2
-rw-r--r--findutils/grep.c9
-rw-r--r--grep.c9
3 files changed, 14 insertions, 6 deletions
diff --git a/Changelog b/Changelog
index 453a69b..96012ff 100644
--- a/Changelog
+++ b/Changelog
@@ -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++;
diff --git a/grep.c b/grep.c
index fdfc959..287d9f8 100644
--- a/grep.c
+++ b/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++;