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

Re: [ic] Bug in "EITHER" coretag


Carl Bailey <suppressed> 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.  Further, it's not hard to picture a scenario where 
> NOT trimming space characters would be desired.
> 
> We therefore propose, for your consideration, the following replacement 
> to the tag, which adds a "notrim" option, and corrects the return 
> problem as well.  We have used this tag successfully in our IC 5.2 
> environment:
> 
> UserTag either              Order notrim
> UserTag either              hasEndTag
> UserTag either              PosNumber    0
> UserTag either              Version      $Revision: 1.3.1 $
> UserTag either              Routine      <<EOR
> sub {
> 		my ($notrim, $body) = @_;
>          my @ary = split /\[or\]/, $body;
>          my $result;
>          while(@ary) {
>                  $result = interpolate_html(shift @ary);
> 				unless ($notrim) {
> 	                $result =~ s/^\s+//;
>      	            $result =~ s/\s+$//;
> 				}
>                  return $result if length($result);
>          }
>          return;
> }
> EOR
> 
> Usage Example:
>     [seti delimiter][either notrim=1][scratch user_delim][or] 
> [/either][/seti]
> 
> 
> Regards,
> 
> Carl Bailey
> Triangle Research, Inc.
> 
> _______________________________________________
> interchange-users mailing list
> suppressed
> http://www.icdevgroup.org/mailman/listinfo/interchange-users
> 
> 

-- 
   _/   _/  _/_/_/_/  _/    _/  _/_/_/  _/    _/
  _/_/_/   _/_/      _/    _/    _/    _/_/  _/   K e v i n   W a l s h
 _/ _/    _/          _/ _/     _/    _/  _/_/    suppressed
_/   _/  _/_/_/_/      _/    _/_/_/  _/    _/
_______________________________________________
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.