Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006705opensim[REGION] Scripting Enginepublic2013-07-11 00:172013-07-11 00:17
ReporterLaci Luckstone 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0006705: Precedence of logical NOT operator (!)
DescriptionAccording to LSL operator precedence (http://wiki.secondlife.com/wiki/Category:LSL_Operators [^]) this code should be evaluated as FALSE, but in OpenSim it is evaluated as TRUE. :(

integer a = FALSE;
integer b = 2;
integer c = 1;
        
if (!a && b==1 && (c==1 || c==2)) {
    llSay(0,"true");
} else {
    llSay(0,"false");
}
Steps To Reproduceinteger a = FALSE;
integer b = 2;
integer c = 1;
        
if (!a && b==1 && (c==1 || c==2)) {
    llSay(0,"true");
} else {
    llSay(0,"false");
}
Additional InformationWith minor changes into the code it is possible to "solve" this problem. When you put the first condition (!a) into parenthesis, the code works correctly.
TagsNo tags attached.
Git Revision or version number
Run ModeStandalone (1 Region) , Standalone (Multiple Regions) , Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
Physics EngineBasicPhysics
Script Engine
EnvironmentUnknown
Mono VersionNone
Viewer
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2013-07-11 00:17 Laci Luckstone New Issue


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker