From: proski Date: Thu, 23 Jul 2009 16:41:29 +0000 (+0000) Subject: 2009-07-23 Pavel Roskin X-Git-Tag: 1.98~684 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=48904cd1a99b7643c2fae32fb54b07cad88a5767;p=thirdparty%2Fgrub.git 2009-07-23 Pavel Roskin * 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. --- diff --git a/ChangeLog b/ChangeLog index a0780abed..3ceeb08f8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-07-23 Pavel Roskin + + * 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 UUID support for UFS diff --git a/include/grub/misc.h b/include/grub/misc.h index e229062ac..769ec5cd8 100644 --- a/include/grub/misc.h +++ b/include/grub/misc.h @@ -25,7 +25,8 @@ #include #include -#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)