From 54d6016a31705b094d9b766f81f211650aa3559a Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Wed, 13 Jul 2005 18:37:30 +0000 Subject: [PATCH] why was this using pow? --- ipmitool/lib/ipmi_sdr.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ipmitool/lib/ipmi_sdr.c b/ipmitool/lib/ipmi_sdr.c index 60cf095..f161873 100644 --- a/ipmitool/lib/ipmi_sdr.c +++ b/ipmitool/lib/ipmi_sdr.c @@ -75,12 +75,12 @@ static struct ipmi_sdr_iterator *sdr_list_itr = NULL; int32_t utos(uint32_t val, int bits) { - int x = pow(10, bits - 1); - if (val & x) { - x = pow(2, bits - 1); - return -((~val & (x - 1)) + 1); - } - return val; + int x = 1<<(bits-1); + + if (val & x) + return -((~val & ((1<<(bits-1)) - 1)) + 1); + else + return val; } /* ipmi_sdr_get_unit_string - return units for base/modifier