[Nut-upsdev] [PATCH] Fix logic error in rhino driver

Arnaud Quette aquette.dev at gmail.com
Sat Oct 15 07:10:18 UTC 2011


Fellows,

2011/10/15 Stuart D Gathman <stuart at bmsi.com>:
> On 10/14/2011 06:10 PM, Regid Ichira wrote:
>> The if() statement always evaluated to true.
>>> Detected by "cppcheck", not tested on real hardware.
>>>
>>> -      if(  ( BattVoltage > 129 ) || ( BattVoltage < 144 ) )
>>> +      if(  ( BattVoltage > 129 ) && ( BattVoltage < 144 ) )
>>   I think the current, ||, logic is fine.  I can't see in what
>> circumstances it would yield the wrong decision.  Can anyone point a
>> scenario where I am wrong?
>
> As the diagnostic says, it is always true.  No matter what value
> BattVoltage takes, whether float or int,
> it is always either > 129 or < 144.   It is clearly a bug, but we aren't
> sure whether it should be
> in range, out of range, or just remove the test altogether (since it
> seems to work when always true).

the best thing to do, in such case, remains to contact the author.

@Silvino: could you please check this thread and give us back your opinion?
http://blog.gmane.org/gmane.comp.monitoring.nut.devel

cheers,
Arnaud



More information about the Nut-upsdev mailing list