Fix comparison which always returned false
authorStefan Weil <weil@mail.berlios.de>
Tue, 15 Jun 2010 21:03:28 +0000 (23:03 +0200)
committermalc <av1474@comtv.ru>
Tue, 15 Jun 2010 21:43:38 +0000 (01:43 +0400)
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).

Cc: Gleb Natapov <gleb@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: malc <av1474@comtv.ru>
hw/hpet.c

index 0c80ee5..d5c406c 100644 (file)
--- 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");