From a48e11ca90ff0cb01bff953ab4095a33a5561a70 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 31 Aug 2005 03:25:29 +0200 Subject: [PATCH] don't chop_str if adding ... is longer than the original Signed-off-by: Kay Sievers --- gitweb.cgi | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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 { -- 2.11.0