[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