summaryrefslogtreecommitdiff
path: root/coreutils/tr.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-03-12 22:10:40 +0000
committerEric Andersen <andersen@codepoet.org>2004-03-12 22:10:40 +0000
commited43806c3b3394ea4ee94c5c9ab042d0aa51f033 (patch)
tree59f79084b673caedd2f4abf0db6d9fc29027860c /coreutils/tr.c
parentd20d37559f6a3e9abd8694d4a7375467e39eeb5e (diff)
downloadbusybox-w32-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.tar.gz
busybox-w32-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.tar.bz2
busybox-w32-ed43806c3b3394ea4ee94c5c9ab042d0aa51f033.zip
Hideki IWAMOTO writes:
Current `tr' implementation has a problem, if `plain char' is signed. [current cvs version] >echo a | _install/usr/bin/tr '\0' '\377' Segmentation fault (core dumped) [patched version] >echo a | _install/usr/bin/tr '\0' '\377' a
Diffstat (limited to 'coreutils/tr.c')
-rw-r--r--coreutils/tr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/coreutils/tr.c b/coreutils/tr.c
index 4e69dc89c..958fc80b8 100644
--- a/coreutils/tr.c
+++ b/coreutils/tr.c
@@ -202,9 +202,9 @@ extern int tr_main(int argc, char **argv)
202 map(input, input_length, output, output_length); 202 map(input, input_length, output, output_length);
203 } 203 }
204 for (i = 0; i < input_length; i++) 204 for (i = 0; i < input_length; i++)
205 invec[(int)input[i]] = TRUE; 205 invec[(unsigned char)input[i]] = TRUE;
206 for (i = 0; i < output_length; i++) 206 for (i = 0; i < output_length; i++)
207 outvec[(int)output[i]] = TRUE; 207 outvec[(unsigned char)output[i]] = TRUE;
208 } 208 }
209 convert(); 209 convert();
210 return (0); 210 return (0);