[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] savevm.c: Fix compilation error on 32bit host.
From: |
Michael Tokarev |
Subject: |
Re: [Qemu-devel] [PATCH] savevm.c: Fix compilation error on 32bit host. |
Date: |
Wed, 15 Aug 2012 15:07:10 +0400 |
User-agent: |
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5 |
On 15.08.2012 13:10, Evgeny Voevodin wrote:
> Casting of 0x0101010101010101ULL to long will truncate it to 32
> bits on 32bit hosts, and won't truncate on 64bit hosts.
>
> Signed-off-by: Evgeny Voevodin <address@hidden>
> ---
> savevm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/savevm.c b/savevm.c
> index 0ea10c9..9ab4d83 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -2473,7 +2473,7 @@ int xbzrle_encode_buffer(uint8_t *old_buf, uint8_t
> *new_buf, int slen,
> /* word at a time for speed, use of 32-bit long okay */
> if (!res) {
> /* truncation to 32-bit long okay */
> - long mask = 0x0101010101010101ULL;
> + long mask = (long)0x0101010101010101ULL;
> while (i < slen) {
> xor = *(long *)(old_buf + i) ^ *(long *)(new_buf + i);
> if ((xor - mask) & ~xor & (mask << 7)) {
Um, how it is ugly... Can't we use unsigned types for all this stuff?
Including slen too - the function parameter...
Thanks,
/mjt