[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ic] Bug in "EITHER" coretag


Peter wrote:

On 03/09/2007 11:26 AM, Stefan Hornburg wrote:
Carl Bailey wrote:
We found what we believe to be a fault in the [either] coretag.

We used the following code on a page:
   [either][cgi idxnum][or]0[/either]
When the cgi value is absent this tag returns nothing -- a null
string, rather than the desired '0' character.

The reason for this is that the either coretag splits its body on
"[or]" and interpolates each chunk in turn, removes leading and
trailing spaces from the result and returns the first "true" result. However in determining what to return, it uses the statement "return
$result if $result;"  Obviously when $result = '0', this fails to
return anything.
Therefore the last statement in the tag should be:

return $result if $result =~ /\S/;

So what if the first result is "0"?  it would still return it.

I said the last statement in the tag, not the return within the loop.


And I don't think this addresses the problem that was originally stated
either.

return $result if $result is the right way to do it, but there needs to
be a way to return the last result in the loop if all tests fail.

See above.

Regards
	Racke


--
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team

_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.