From: Kay Sievers Date: Wed, 31 Aug 2005 01:25:29 +0000 (+0200) Subject: don't chop_str if adding ... is longer than the original X-Git-Tag: v1.4.0~1^2~63 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=a48e11ca90ff0cb01bff953ab4095a33a5561a70;p=git.git don't chop_str if adding ... is longer than the original Signed-off-by: Kay Sievers --- diff --git a/gitweb.cgi b/gitweb.cgi index e68368d5..6ce92233 100755 --- a/gitweb.cgi +++ b/gitweb.cgi @@ -21,8 +21,8 @@ my $my_uri = $cgi->url(-absolute => 1); my $rss_link = ""; # absolute fs-path which will be prepended to the project path -my $projectroot = "/pub/scm"; -$projectroot = "/home/kay/public_html/pub/scm"; +#my $projectroot = "/pub/scm"; +my $projectroot = "/home/kay/public_html/pub/scm"; # location of the git-core binaries my $gitbin = "/usr/bin"; @@ -621,12 +621,15 @@ sub chop_str { my $len = shift; my $add_len = shift || 10; - $str =~ m/^(.{0,$len}[^ \/\-_:\.@]{0,$add_len})/; - my $chopped = $1; - if ($chopped ne $str) { - $chopped .= " ..."; + # allow only $len chars, but don't cut a word if it would fit in $add_len + # if it doesn't fit, cut it if it's still longer than the dots we would add + $str =~ m/^(.{0,$len}[^ \/\-_:\.@]{0,$add_len})(.*)/; + my $body = $1; + my $tail = $2; + if (length($tail) > 4) { + $tail = " ..."; } - return $chopped; + return "$body$tail"; } sub file_type {