From: Jakub Narebski Date: Sun, 7 Jan 2007 01:52:25 +0000 (+0100) Subject: gitweb: Fix errors in git_patchset_body for empty patches X-Git-Url: https://git.ladys.computer/Gitweb/commitdiff_plain/61b8e5f83a6c26520b415e1a93584f4ba9610ab9dc78275c19186ea4b928755d gitweb: Fix errors in git_patchset_body for empty patches We now do not skip over empty patches in git_patchset_body (where empty means that they consist only of git diff header, and of extended diff header, for example "pure rename" patch). This means that after extended diff header there can be next patch (i.e. /^diff /) or end of patchset, and not necessary patch body (i.e. /^--- /). Signed-off-by: Jakub Narebski Signed-off-by: Junio C Hamano --- diff --git a/gitweb.perl b/gitweb.perl index 9d135b7..f7b5315 100755 --- a/gitweb.perl +++ b/gitweb.perl @@ -2404,7 +2404,7 @@ sub git_patchset_body { while ($patch_line = <$fd>) { chomp $patch_line; - last EXTENDED_HEADER if ($patch_line =~ m/^--- /); + last EXTENDED_HEADER if ($patch_line =~ m/^--- |^diff /); if ($patch_line =~ m/^index ([0-9a-fA-F]{40})..([0-9a-fA-F]{40})/) { $from_id = $1; @@ -2523,6 +2523,8 @@ sub git_patchset_body { # from-file/to-file diff header $patch_line = $last_patch_line; + last PATCH unless $patch_line; + next PATCH if ($patch_line =~ m/^diff /); #assert($patch_line =~ m/^---/) if DEBUG; if ($from{'href'}) { $patch_line = '--- a/' .