From: Michał Kiedrowicz Date: Fri, 23 Mar 2012 22:56:50 GMT Subject: [PATCH v2 1/8] gitweb: esc_html_hl_regions(): Don't create empty elements Message-ID: <1332543417-19664-2-git-send-email-michal.kiedrowicz@gmail.com> In-Reply-To: <1332543417-19664-1-git-send-email-michal.kiedrowicz@gmail.com> if $s->[1] is equal to or less than $s->[0], esc_html_hl_regions() generates an empty element. It normally shouldn't be visible in the web broweser, but it doesn't look good when looking at page source. It also minimally increases generated page size for no special reason. Signed-off-by: Michał Kiedrowicz --- I don't know if any code currently can produce empty elements, but diff refinement highlighning does it. gitweb/gitweb.perl | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index a8b5fad..af645e5 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1738,6 +1738,9 @@ sub esc_html_hl_regions { my $pos = 0; for my $s (@sel) { + # Don't craete empty elements. + next if $s->[1] <= $s->[0]; + $out .= esc_html(substr($str, $pos, $s->[0] - $pos)) if ($s->[0] - $pos > 0); $out .= $cgi->span({-class => $css_class}, -- 1.7.8.4