From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=50050 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOdg0-0005NE-T5 for qemu-devel@nongnu.org; Tue, 15 Jun 2010 17:28:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OOdfz-0001e7-FK for qemu-devel@nongnu.org; Tue, 15 Jun 2010 17:28:08 -0400 Received: from mail-gw0-f45.google.com ([74.125.83.45]:41748) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OOdfz-0001dz-BS for qemu-devel@nongnu.org; Tue, 15 Jun 2010 17:28:07 -0400 Received: by gwaa20 with SMTP id a20so2037096gwa.4 for ; Tue, 15 Jun 2010 14:28:06 -0700 (PDT) Message-ID: <4C17F075.7010606@codemonkey.ws> Date: Tue, 15 Jun 2010 16:28:21 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Fix comparison which always returned false References: <1276635808-7315-1-git-send-email-weil@mail.berlios.de> In-Reply-To: <1276635808-7315-1-git-send-email-weil@mail.berlios.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Weil Cc: Anthony Liguori , QEMU Developers , Gleb Natapov On 06/15/2010 04:03 PM, Stefan Weil wrote: > Comparing an 8 bit value with ~0 does not work as expected. > Replace ~0 by UINT8_MAX in comparison and also in assignment > (and fix coding style, too). > Because when the uint8_t gets promoted, it doesn't get zero filled. I'd rather something a bit more obvious like HPET_INVALID_COUNT. Regards, Anthony Liguori > Cc: Gleb Natapov > Cc: Anthony Liguori > Signed-off-by: Stefan Weil > --- > hw/hpet.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/hw/hpet.c b/hw/hpet.c > index 0c80ee5..d5c406c 100644 > --- a/hw/hpet.c > +++ b/hw/hpet.c > @@ -74,7 +74,7 @@ typedef struct HPETState { > uint8_t hpet_id; /* instance id */ > } HPETState; > > -struct hpet_fw_config hpet_cfg = {.count = ~0}; > +struct hpet_fw_config hpet_cfg = {.count = UINT8_MAX}; > > static uint32_t hpet_in_legacy_mode(HPETState *s) > { > @@ -682,8 +682,10 @@ static int hpet_init(SysBusDevice *dev) > int i, iomemtype; > HPETTimer *timer; > > - if (hpet_cfg.count == ~0) /* first instance */ > + if (hpet_cfg.count == UINT8_MAX) { > + /* first instance */ > hpet_cfg.count = 0; > + } > > if (hpet_cfg.count == 8) { > fprintf(stderr, "Only 8 instances of HPET is allowed\n"); >