[Libguestfs] [PATCH nbdkit 1/3] common: isaligned: Use uint64_t instead of unsigned int.

Eric Blake eblake at redhat.com
Mon Sep 17 20:19:16 UTC 2018


On 9/17/18 2:55 PM, Richard W.M. Jones wrote:
> On Mon, Sep 17, 2018 at 10:00:30PM +0300, Nir Soffer wrote:
>> On Mon, Sep 17, 2018 at 6:03 PM Richard W.M. Jones <rjones at redhat.com>
>> wrote:
>>
>>> This should have no effect.  However it's probably better to pass the
>>> full type explicitly rather than using an implicit truncation.
>>>
>>
>> Why is it better?
> 
> It's not necessarily, hence patches are posted for review :-)
> 
> My other idea was to turn it into a macro, something like this:
> 
>    #define is_aligned(size, align) (!((size) & ((align) - 1)))
> 
> This, I believe, is independent of the int type used by the caller so
> achieves the same end.  However it unfortunately drops the assertion
> and I couldn't think of a good way to add the assertion to this
> expression without using GCC extensions.

Then again, we already rely on gcc/clang features (such as automatic 
variable cleanup on scope exit), so it's highly probable that any such 
extension we use is already supported by any compiler that can already 
grok nbdkit sources.

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




More information about the Libguestfs mailing list