From: Ævar Arnfjörð Bjarmason Date: Sat, 19 Feb 2011 15:27:42 +0000 (+0000) Subject: gitweb/gitweb.perl: don't call S_ISREG() with undef X-Git-Url: https://git.ladys.computer/Gitweb/commitdiff_plain/380041003dbbb664fea83ed8a63c2f073e4f01dda3e512f26115a01b09db26aa?hp=6e3a803c148699eda798777dd5d9d4ef6128791ed85919722dd5d064145ff1de gitweb/gitweb.perl: don't call S_ISREG() with undef Change S_ISREG($to_mode_oct) to S_ISREG($from_mode_oct) in the branch that handles from modes, not to modes. This logic appears to have been caused by copy/paste programming by Jakub Narebski in e8e41a93. It would be better to rewrite this code not to be duplicated, but I haven't done so. This issue caused a failing test on perl 5.13.9, which has a warning that turned this up: gitweb.perl: Use of uninitialized value in subroutine entry at /home/avar/g/git/t/../gitweb/gitweb.perl line 4415. Which caused the Git test suite to fail on this test: ./t9500-gitweb-standalone-no-errors.sh (Wstat: 256 Tests: 90 Failed: 84) Failed tests: 1-8, 10-36, 38-45, 47-48, 50-88 Non-zero exit status: 1 Reported-by: perl 5.13.9 Signed-off-by: Ævar Arnfjörð Bjarmason Acked-by: Jakub Narebski Signed-off-by: Junio C Hamano --- diff --git a/gitweb.perl b/gitweb.perl index bee3a5a..ccb06cd 100755 --- a/gitweb.perl +++ b/gitweb.perl @@ -4413,7 +4413,7 @@ sub git_difftree_body { } if ($diff->{'from_mode'} ne ('0' x 6)) { $from_mode_oct = oct $diff->{'from_mode'}; - if (S_ISREG($to_mode_oct)) { # only for regular file + if (S_ISREG($from_mode_oct)) { # only for regular file $from_mode_str = sprintf("%04o", $from_mode_oct & 0777); # permission bits } $from_file_type = file_type($diff->{'from_mode'});