2011/7/9 Eric Blake <eblake(a)redhat.com>:
On 07/08/2011 07:40 PM, Eric Blake wrote:
>>
>> Instead count from 0 to 39 to fix this.
>> ---
>> tests/test-lib.sh | 6 +++---
>> 1 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/test-lib.sh b/tests/test-lib.sh
>> index 768f96b..9eb6864 100644
>> --- a/tests/test-lib.sh
>> +++ b/tests/test-lib.sh
>> @@ -54,9 +54,9 @@ test_final()
>> status=$2
>>
>> if test "$verbose" = "0" ; then
>> - mod=`expr \( $counter + 1 \) % 40`
>> - if test "$mod" != "0" && test "$mod"
!= "1" ; then
>> - for i in `seq $mod 40`
>> + mod=`expr $counter % 40`
>> + if test "$mod" != "0" ; then
>> + for i in `seq $mod 39`
>
> seq is a GNU-ism, but this is no less portable than what it was before.
> (To be portable to platforms that lack seq, this should really be
> written as:
>
> for i in 0 1 2 3 4 ... 39
Why iterate in the first place?
+ if test "$mod" != "0" ; then
+ for i in `seq $mod 39`
do
printf " "
can portably be replaced by:
printf "%${len}s" ""
with len computed via expr.
Yes, that approach is nicer and also the logic it a bit simpler. Here's a v2.
--
Matthias Bolte
http://photron.blogspot.com