[PATCH] uefi: uefirtvariable: use sizeof() for finding the bit size of long integer

IvanHu ivan.hu at canonical.com
Fri Dec 21 02:49:01 UTC 2012


On 12/20/2012 11:52 PM, Keng-Yu Lin wrote:
> The size of long integer can vary on different architectures.
>
> The patch uses sizeof() to find the bit size of the long integer rather than
> a fixed value.
>
> This also matches the definition in Linux kernel's efi.h.
>
> Signed-off-by: Keng-Yu Lin <kengyu at canonical.com>
> ---
>   src/uefi/uefirtvariable/uefirtvariable.c |    4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c
> index 1599c5b..0459160 100644
> --- a/src/uefi/uefirtvariable/uefirtvariable.c
> +++ b/src/uefi/uefirtvariable/uefirtvariable.c
> @@ -40,8 +40,10 @@
>   						0xDD, 0xB7, 0x11, 0xD0, 0x6E} \
>   }
>
> +#define BITS_PER_LONG		(sizeof(long) * 8)
> +
>   #define EFI_SUCCESS		0
> -#define EFI_NOT_FOUND		(14 | (1UL << 63))
> +#define EFI_NOT_FOUND		(14 | (1UL << (BITS_PER_LONG-1)))
>
>   #define MAX_DATA_LENGTH		1024
>
>

Thanks Keng-yu, Colin for fixing the build i386 issue.
Ack by me, since you'd like to fix the build issue first with the coming 
release. These define is moved to fwts_uefi.h in previous patch 
*uefirtvariable: add the function to print out the return status messages*.
We should also modify this after the patch is applied. :)

Acked-by: Ivan Hu <ivan.hu at canonical.com>



More information about the fwts-devel mailing list