From: Joey Hess Date: Wed, 4 Jun 2008 04:25:56 +0000 (-0400) Subject: more substr fixes X-Git-Tag: 2.49~25 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=aefe5dd9cb270bd4fceb7922f0a0b09263d211ee;p=ikiwiki.git more substr fixes --- diff --git a/IkiWiki/Plugin/search.pm b/IkiWiki/Plugin/search.pm index e12c9bca4..2de1cf7ac 100644 --- a/IkiWiki/Plugin/search.pm +++ b/IkiWiki/Plugin/search.pm @@ -87,20 +87,21 @@ sub filter (@) { #{{{ $scrubber=HTML::Scrubber->new(allow => []); } my $toindex=$scrubber->scrub($params{content}); - + # Take 512 characters for a sample, then extend it out # if it stopped in the middle of a word. my $size=512; my ($sample)=substr($toindex, 0, $size); if (length($sample) == $size) { - my $next=substr($toindex, $size++, 1); - while (defined $next && $next !~ /\s/) { + my $max=length($toindex); + my $next; + while ($size < $max && + ($next=substr($toindex, $size++, 1)) !~ /\s/) { $sample.=$next; - $next=substr($toindex, $size++, 1); } } $sample=~s/\n/ /g; - + # data used by omega $doc->set_data( "url=".urlto($params{page}, "")."\n".