I'm sorry I did not see this till I got home. When I am on the work network again I will look up the patch #s.
Adam On Tue, Jul 14, 2009 at 11:04 AM, Andy Wu <[email protected]> wrote: > I'm running 8.0.1. Is there a particular hotfix you had in mind that would > potentially change this behaviour? > > Thanks > Andy > > > Adam Haskell wrote: > > Andy, there were some nasty number comparison bugs in CF8 at one point, do > you have the latest updaters installed? > > > Adma > > > On Mon, Jul 13, 2009 at 9:13 AM, Andy Wu <[email protected]> wrote: > >> Hi Peter, >> >> Thanks for the thorough explanation. You're absolutely correct in >> concluding the issue is down to the underlying type differences. >> >> I can update OpenBD so that it will identify 1 and "1" as equal though >> admittedly I'm unsure as to whether I should replicate CF's behaviour >> entirely. If the numbers involved are negative, CF8 will output false: >> >> <cfset a = -1> >> <cfset b = "-1"> >> >> <cfoutput> >> #a.equals(b)#<br> >> </cfoutput> >> >> I'd rather be consistent and output true in both cases. >> >> Andy >> >> Peter J. Farrell wrote: >> > I think I've narrowed down the issue. If I change ComparisonA to this >> > (notice the quotes around the values): >> > >> > <cfset comparisonA[1] = "1" /> >> > <cfset comparisonA[2] = "2" /> >> > >> > The results change to this: >> > A to B: false >> > A to C: true >> > >> > Clearly this has to do with "1" being like a "string" and when it's just >> > 1 then it's just a "numeric". Essentially they should be the both >> > return true when a comparison is being done? >> > >> > Best, >> > .Peter >> > >> > P.s. I've also tried this with structs (which is Issue 43) using the >> > same function (which I won't paste in again) and the same equals stuff >> > does not work: >> > >> > <cfset variables.parsedXml = XmlParse('<root><struct name="test"><key >> > name="a" value="1"/><key >> > name="b"><value>2</value></key></struct></root>') /> >> > >> > <cfset comparisonA = StructNew() /> >> > <cfset comparisonB = StructNew(1) /> >> > <cfset comparisonC = recurseComplexValues(variables.parsedXml.root) /> >> > >> > <cfset comparisonA.a = "1" /> >> > <cfset comparisonA.b = "2" /> >> > >> > <cfset comparisonB.a = 1 /> >> > <cfset comparisonB.b = 2 /> >> > >> > A to B:<cfdump var="#comparisonA.equals(comparisonB)#"><br/> >> > A to C:<cfdump var="#comparisonA.equals(comparisonC)#"> >> > >> > >> > > >> > >> >> >> >> > > > > > > > --~--~---------~--~----~------------~-------~--~----~ Open BlueDragon Public Mailing List http://groups.google.com/group/openbd?hl=en official site @ http://www.openbluedragon.org/ !! save a network - trim replies before posting !! -~----------~----~----~----~------~----~------~--~---
