On 8/26/19 7:31 AM, Max Reitz wrote:

>>  # the file size.  This function hides the resulting difference in the
>>  # stat -c '%b' output.
>>  # Parameter 1: Number of blocks an empty file occupies
>> -# Parameter 2: Image size in bytes
>> +# Parameter 2: Minimal number of blocks in an image
>> +# Parameter 3: Image size in bytes
>>  _filter_blocks()
>>  {
>>      extra_blocks=$1
>> -    img_size=$2
>> +    min_blocks=$2
>> +    img_size=$3
>>  
>> -    sed -e "s/blocks=$extra_blocks\\(\$\\|[^0-9]\\)/nothing allocated/" \
>> -        -e "s/blocks=$((extra_blocks + img_size / 
>> 512))\\(\$\\|[^0-9]\\)/everything allocated/"
>> +    sed -e "s/blocks=$((min_blocks))\\(\$\\|[^0-9]\\)/min allocation/" \
> 
> Superfluous parentheses ($(())), but not wrong.

Note that $((..)) has a purpose: it can convert any variable content
into decimal.  I can write min_blocks=0x1000, and $((min_blocks))
results in 4096 while $min_blocks is still 0x1000.  But I'd need more
context as to what the callers expect to pass as to whether the $((...))
is superfluous here.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to