Follow-up Comment #23, sr #111312 (group freeipmi): here's another debug patch to go on top of the others, just to really make sure the casting bug exists on the line i think it is happening.
diff --git a/libfreeipmi/util/ipmi-sensor-util.c
b/libfreeipmi/util/ipmi-sensor-util.c
index 205c416fc..c4975c07d 100644
--- a/libfreeipmi/util/ipmi-sensor-util.c
+++ b/libfreeipmi/util/ipmi-sensor-util.c
@@ -291,12 +291,17 @@ ipmi_sensor_decode_value (int8_t r_exponent,
dval = (double) raw_data;
else if (analog_data_format == IPMI_SDR_ANALOG_DATA_FORMAT_1S_COMPLEMENT)
{
+ fprintf (stderr, "ipmi-sensor-decode: 1s complement before : %X\n",
raw_data);
if (raw_data & 0x80)
raw_data++;
dval = (double)((char) raw_data);
+ fprintf (stderr, "ipmi-sensor-decode: 1s complement after : %f\n",
dval);
}
- else /* analog_data_format == IPMI_SDR_ANALOG_DATA_FORMAT_2S_COMPLEMENT */
+ else { /* analog_data_format == IPMI_SDR_ANALOG_DATA_FORMAT_2S_COMPLEMENT
*/
+ fprintf (stderr, "ipmi-sensor-decode: 2s complement before : %X\n",
raw_data);
dval = (double)((char) raw_data);
+ fprintf (stderr, "ipmi-sensor-decode: 2s complement after : %f\n",
dval);
+ }
fprintf (stderr, "ipmi-sensor-decode: dval initial = %f\n", dval);
dval *= (double) m;
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/support/?111312>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
