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++)