Patch from Matt Kraai <kraai@alumni.carnegiemellon.edu>:

GNU tr complains on the following:

$ tr a ''
tr: when not truncating set1, string2 must be non-empty

BusyBox tr does not complain:

$ tr a ''
a
^D
0

It should result in an error, not in some spurious output.  The attached
patch generates an error.

Matt
diff --git a/tr.c b/tr.c
index 48cdd47..5a8116d 100644
--- a/tr.c
+++ b/tr.c
@@ -187,10 +187,12 @@
 		expand(argv[index++], input);
 		if (com_fl)
 			complement(input);
-		if (argv[index] != NULL)
+		if (argv[index] != NULL) {
+			if (*argv[index] == '\0')
+				fatalError("tr: STRING2 cannot be empty\n");
 			expand(argv[index], output);
-		if (argv[index] != NULL)
 			map(input, output);
+		}
 		for (ptr = input; *ptr; ptr++)
 			invec[*ptr] = TRUE;
 		for (ptr = output; *ptr; ptr++)