What version of OpenBD and link to the bug ticket?
Billy Cravens said the following on 12/29/2011 12:03 PM:
Just an FYI, bug report to proper issue tracker, just wanted to make
community aware (and tell me if there's something I'm missing!)
Billy Cravens
[email protected] <mailto:[email protected]>
On Dec 29, 2011, at 11:57 AM, Billy Cravens wrote:
In some of my CFC's, I define my functions in script (since I've
written script-based CFCs in Railo/ACF, quickest port was to wrap in
<cfscript> and <cfcomponent>)
Noticed some odd behavior when my function has multiple params with
defaults, and I explicitly set a value other than the first param.
Code for reference:
obj.cfc:
<cfcomponent>
<cfscript>
function foo(a=1,b=2,c=3) {
writedump(arguments); // contrived little example
}
</cfscript>
</cfcomponent>
test.cfm:
<cfscript>
myObj = new obj();
myObj.foo();
myObj.foo(a=4); // works correctly
myObj.foo(b=4); // a disappears, and b unchanged!
myObj.foo(c=4); // a disappears and c unchanged!
myObj.foo(b=4,c=5); // a disappears and c unchanged - but b works?
myObj.foo(c=5, b=4); // despite reversed order, same result as last line
</cfscript>
When you explicitly set the value of anything other than the first
param, it loses the first param, and no arguments change. However, if
you set more than one value, it seems that only the last argument
doesn't change (first param still missing).
Confirmed that it behaves correctly if you use <cffunction> based
methods. I can't replicate this bug in UDF's, only CFCs. Bug seems to
exist whether you're in a method or an implicit constructor (function
name init(), arguments in new invocation) - I actually discovered
this when I added a second param to one of my constructors.
The obvious solution is to switch to all <cffunction> methods, but
this is still a pretty big core bug, IMO.
Billy Cravens
[email protected] <mailto:[email protected]>
--
online documentation: http://openbd.org/manual/
google+ hints/tips: https://plus.google.com/115990347459711259462
http://groups.google.com/group/openbd?hl=en
--
Peter J. Farrell
[email protected]
[email protected]
http://blog.maestropublishing.com
Identi.ca / Twitter: @maestrofjp
--
online documentation: http://openbd.org/manual/
google+ hints/tips: https://plus.google.com/115990347459711259462
http://groups.google.com/group/openbd?hl=en