if $s->[1] is equal to or less than $s->[0], esc_html_hl_regions()
generates an empty <span> 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 <redacted>
---
I don't know if any code currently can produce empty <span> 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 <span> 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