Item1822: IF broken for numerical comparisons against zero

Priority: Urgent
Current State: Closed
Released In: 1.0.7
Target Release: patch
Applies To: Engine
Reported By: MichaelDaum
Waiting For:
Last Change By: KennethLavrsen
You type:
  "-1 > 0"
  then="<b>test FAILED</b>"
  else="test PASSED"
You get:

That's an error in BinaryOP and UnaryOP where the sub expression is defaulting to the empty string if their return value is perl-false, i.e. numerically zero.

So any further numerical comparison like -1 > 0 are evaluated lexically - not numerically because the second argument is translated to the empty string.

-- MichaelDaum - 10 Jul 2009

ItemTemplate edit

Summary IF broken for numerical comparisons against zero
ReportedBy MichaelDaum
SVN Range Foswiki-1.0.0, Thu, 08 Jan 2009, build 1878
AppliesTo Engine
Priority Urgent
CurrentState Closed
Checkins distro:0f57c28170b5
TargetRelease patch
ReleasedIn 1.0.7
Topic revision: r6 - 20 Sep 2009, KennethLavrsen - This page was cached on 10 Oct 2015 - 11:54. Get a fresh version here.
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License