Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.1.1
-
None
-
Not relevant, C++ syntax problem
Description
ContentSpecType.cpp says at about line 260:
if ((fType & 0x0f) == ContentSpecNode::Choice)
{ max = max * (maxFirst > maxSecond) ? maxFirst : maxSecond; }Thanks to operator precedence max evaluates either to maxFirst or maxSecond, but never to max*maxFirst or max*maxSecond.
Adding parenthesis makes this do the right thing:
max = max * ((maxFirst > maxSecond) ? maxFirst : maxSecond);