A ColdFusion server has been updated to ColdFusion 2018 (from ColdFusion 9 or 11).
One of the oldest applications on that server contains code like: < cfif arguments[key] NEQ "">
Before, this seems to have been equivalent to isDefined("arguments.key")
or StructKeyExists(arguments, key)
.
Today, even though isDefined("arguments.key")
is false, and StructKeyExists(arguments, key)
is also negative, <cfif arguments[key] NEQ "">
fails, because arguments[key] doesn't behave like empty string anymore. In fact, < cfdump var="#arguments[key]#">
displays 'undefined'.
Is there anything I can do in order to avoid changing the code everywhere where empty string was used instead of StructKeyExists
? Perhaps a ColdFusion server parameter? (THIS.enableNullSupport
didn't help)