* include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
to avoid loss of upper bits if align is unsigned and shorter
than addr.
+2009-07-23 Pavel Roskin <proski@gnu.org>
+
+ * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
+ to avoid loss of upper bits if align is unsigned and shorter
+ than addr.
+
2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
UUID support for UFS
#include <grub/symbol.h>
#include <grub/err.h>
-#define ALIGN_UP(addr, align) (((grub_uint64_t)addr + align - 1) & ~(align - 1))
+#define ALIGN_UP(addr, align) \
+ ((addr + (typeof (addr)) align - 1) & ~((typeof (addr)) align - 1))
#define ARRAY_SIZE(array) (sizeof (array) / sizeof (array[0]))
#define grub_dprintf(condition, fmt, args...) grub_real_dprintf(__FILE__, __LINE__, condition, fmt, ## args)