init.sh: run tr in the "C" locale to avoid multibyte interpretation
authorJim Meyering <meyering@redhat.com>
Fri, 9 Apr 2010 18:53:49 +0000 (20:53 +0200)
committerIan Beckwith <ianb@erislabs.net>
Mon, 19 Apr 2010 14:23:17 +0000 (15:23 +0100)
* tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
not try to interpret its random input bytes.  Jarno Rajahalme reported
that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence"
on Darwin 10.3.0 with LC_CTYPE=UTF-8.
(mktempd_): Likewise, just in case.
(cherry picked from commit 6b8b58b99d6aaedeed12300cc154af7d3af7b95f)

ChangeLog
tests/init.sh

index e6747aa..6c5122d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2010-04-09  Jim Meyering  <meyering@redhat.com>
 
+       init.sh: run tr in the "C" locale to avoid multibyte interpretation
+       * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
+       not try to interpret its random input bytes.  Jarno Rajahalme reported
+       that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
+       on Darwin 10.3.0 with LC_CTYPE=UTF-8.
+       (mktempd_): Likewise, just in case.
+
        ftruncate: add two years to projected module removal date: 2012
        * m4/ftruncate.m4: Adjust comments.
 
index abfa3b3..ee9c542 100644 (file)
@@ -259,7 +259,7 @@ rand_bytes_()
   if test -r "$dev_rand_"; then
     # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194.
     dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \
-      | tr -c $chars_ 01234567$chars_$chars_$chars_
+      | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
     return
   fi
 
@@ -276,7 +276,7 @@ rand_bytes_()
 
   echo "$data_" \
     | dd bs=1 skip=50 count=$n_ 2>/dev/null \
-    | tr -c $chars_ 01234567$chars_$chars_$chars_
+    | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
 }
 
 mktempd_()