On 01/30/2018 10:08 AM, Alberto Garcia wrote:
> On Tue 30 Jan 2018 05:03:16 PM CET, Eric Blake wrote:
> 
>>> -    virtual_size = align_offset(qemu_opt_get_size_del(opts, 
>>> BLOCK_OPT_SIZE, 0),
>>> +    virtual_size = ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0),
>>>                                  cluster_size);
> 
> I just realized that the first parameter here is a function call with
> side effects, it it safe to use ROUND_UP() in this case?
> 
> #define ROUND_UP(n, d) (((n) + (d) - 1) & -(0 ? (n) : (d)))

Oh, good catch.  No, we need a temporary variable to hold the result of
the function call (or we could rewrite ROUND_UP to have evaluate-once
semantics using gcc/clang extensions).

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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to