--- ipmitool-1.8.9/lib/ipmi_chassis.c.orig 2007-02-22 09:38:56.000000000 +0100 +++ ipmitool-1.8.9/lib/ipmi_chassis.c 2008-01-17 15:07:23.000000000 +0100 @@ -189,6 +189,8 @@ ipmi_chassis_poh(struct ipmi_intf * intf struct ipmi_rs * rsp; struct ipmi_rq req; uint32_t count; + unsigned long hcount; + unsigned char minutes, scale; memset(&req, 0, sizeof(req)); req.msg.netfn = IPMI_NETFN_CHASSIS; @@ -206,9 +208,16 @@ ipmi_chassis_poh(struct ipmi_intf * intf } memcpy(&count, rsp->data+1, 4); +#if WORDS_BIGENDIAN + count = BSWAP_32(count); +#endif + scale = rsp->data[0]; + hcount = count * scale; + minutes = hcount % 60; + hcount /= 60; - printf("POH Counter : %li hours total (%li days, %li hours)\n", - (long)count, (long)(count / 24), (long)(count % 24)); + printf("POH Counter : %li hours total (%li days, %lih%02d')\n", + (long)hcount, (long)(hcount / 24), (long)(hcount % 24), minutes); return 0; }