On Mon, Sep 17, 2018 at 6:03 PM Richard W.M. Jones <rjones(a)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?
We care only about the least significant bits; current code is clear about
that.
This is also specified behavior, although the only reference I can find now
is this:
https://docs.microsoft.com/en-us/cpp/c-language/conversions-from-unsigned...
Nir
---
common/include/isaligned.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/common/include/isaligned.h b/common/include/isaligned.h
index e693820..9ed635e 100644
--- a/common/include/isaligned.h
+++ b/common/include/isaligned.h
@@ -36,13 +36,14 @@
#include <assert.h>
#include <stdbool.h>
+#include <stdint.h>
#include "ispowerof2.h"
/* Return true if size is a multiple of align. align must be power of 2.
*/
static inline bool
-is_aligned (unsigned int size, unsigned int align)
+is_aligned (uint64_t size, unsigned int align)
{
assert (is_power_of_2 (align));
return !(size & (align - 1));
--
2.19.0.rc0
_______________________________________________
Libguestfs mailing list
Libguestfs(a)redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs