Bug fix.  grep wasn't printing file names they way it was supposed to.
 -Erik
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 @@
     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 @@
 		break;
 
 	    case 'h':
-		tellName = TRUE;
+		tellName = FALSE;
 		break;
 
 	    case 'n':
@@ -137,6 +137,9 @@
     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 @@
     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 @@
 		break;
 
 	    case 'h':
-		tellName = TRUE;
+		tellName = FALSE;
 		break;
 
 	    case 'n':
@@ -137,6 +137,9 @@
     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++;