1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-03 15:22:11 +03:00

Don't fall off the end of perl functions

This complies with the perlcritic policy
Subroutines::RequireFinalReturn, which is a severity 4 policy. Since we
only currently check at severity level 5, the policy is raised to that
level until we move to level 4 or lower, so that any new infringements
will be caught.

A small cosmetic piece of tidying of the pgperlcritic script is
included.

Mike Blackwell

Discussion: https://postgr.es/m/CAESHdJpfFm_9wQnQ3koY3c91FoRQsO-fh02za9R3OEMndOn84A@mail.gmail.com
This commit is contained in:
Andrew Dunstan
2018-05-27 09:08:42 -04:00
parent 8a56ff4848
commit 3a7cc727c7
47 changed files with 208 additions and 4 deletions

View File

@@ -62,6 +62,7 @@ sub wanted
$line =~ s/$cc (\d{4}), $pgdg/$ccliteral $1-$year, $pgdg/i;
}
untie @lines;
return;
}
print "Manually update:\n";

View File

@@ -333,6 +333,7 @@ sub push_commit
push @{ $all_commits_by_branch{ $c->{'branch'} } }, $cc;
$cc->{'branch_position'}{ $c->{'branch'} } =
-1 + @{ $all_commits_by_branch{ $c->{'branch'} } };
return;
}
sub hash_commit
@@ -355,6 +356,7 @@ sub parse_datetime
sub output_str
{
($oldest_first) ? ($output_line .= sprintf(shift, @_)) : printf(@_);
return;
}
sub output_details
@@ -395,6 +397,7 @@ sub output_details
}
}
output_str("\n");
return;
}
sub usage

View File

@@ -40,6 +40,7 @@ sub lcopy
copy($src, $target)
|| confess "Could not copy $src to $target\n";
return;
}
sub Install
@@ -173,6 +174,7 @@ sub Install
GenerateNLSFiles($target, $config->{nls}, $majorver) if ($config->{nls});
print "Installation complete.\n";
return;
}
sub EnsureDirectories
@@ -183,6 +185,7 @@ sub EnsureDirectories
{
mkdir $target . '/' . $d unless -d ($target . '/' . $d);
}
return;
}
sub CopyFiles
@@ -200,6 +203,7 @@ sub CopyFiles
lcopy($f, $target . basename($f));
}
print "\n";
return;
}
sub CopySetOfFiles
@@ -215,6 +219,7 @@ sub CopySetOfFiles
lcopy($_, $tgt) || croak "Could not copy $_: $!\n";
}
print "\n";
return;
}
sub CopySolutionOutput
@@ -340,6 +345,7 @@ sub CopySolutionOutput
print ".";
}
print "\n";
return;
}
sub GenerateConversionScript
@@ -377,6 +383,7 @@ sub GenerateConversionScript
print $F $sql;
close($F);
print "\n";
return;
}
sub GenerateTimezoneFiles
@@ -408,6 +415,7 @@ sub GenerateTimezoneFiles
system(@args);
print "\n";
return;
}
sub GenerateTsearchFiles
@@ -449,6 +457,7 @@ sub GenerateTsearchFiles
}
close($F);
print "\n";
return;
}
sub CopyContribFiles
@@ -475,6 +484,7 @@ sub CopyContribFiles
}
}
print "\n";
return;
}
sub CopySubdirFiles
@@ -561,6 +571,7 @@ sub CopySubdirFiles
print '.';
}
}
return;
}
sub ParseAndCleanRule
@@ -676,6 +687,7 @@ sub CopyIncludeFiles
$target . '/include/informix/esql/',
'src/interfaces/ecpg/include/',
split /\s+/, $1);
return;
}
sub GenerateNLSFiles
@@ -719,6 +731,7 @@ sub GenerateNLSFiles
}
}
print "\n";
return;
}
sub DetermineMajorVersion

View File

@@ -80,6 +80,7 @@ EOF
strpool => 'true',
runtime => 'MultiThreadedDLL'
});
return;
}
sub AddDefine
@@ -87,6 +88,7 @@ sub AddDefine
my ($self, $def) = @_;
$self->{defines} .= $def . ';';
return;
}
sub WriteReferences
@@ -112,6 +114,7 @@ EOF
</ItemGroup>
EOF
}
return;
}
sub WriteFiles
@@ -223,6 +226,7 @@ EOF
</ItemGroup>
EOF
}
return;
}
sub WriteConfigurationHeader
@@ -234,6 +238,7 @@ sub WriteConfigurationHeader
<Platform>$self->{platform}</Platform>
</ProjectConfiguration>
EOF
return;
}
sub WriteConfigurationPropertyGroup
@@ -252,6 +257,7 @@ sub WriteConfigurationPropertyGroup
<WholeProgramOptimization>$p->{wholeopt}</WholeProgramOptimization>
</PropertyGroup>
EOF
return;
}
sub WritePropertySheetsPropertyGroup
@@ -262,6 +268,7 @@ sub WritePropertySheetsPropertyGroup
<Import Project="\$(UserRootDir)\\Microsoft.Cpp.\$(Platform).user.props" Condition="exists('\$(UserRootDir)\\Microsoft.Cpp.\$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
EOF
return;
}
sub WriteAdditionalProperties
@@ -272,6 +279,7 @@ sub WriteAdditionalProperties
<IntDir Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'">.\\$cfgname\\$self->{name}\\</IntDir>
<LinkIncremental Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'">false</LinkIncremental>
EOF
return;
}
sub WriteItemDefinitionGroup
@@ -364,6 +372,7 @@ EOF
print $f <<EOF;
</ItemDefinitionGroup>
EOF
return;
}
sub Footer
@@ -377,6 +386,7 @@ sub Footer
</ImportGroup>
</Project>
EOF
return;
}
package VC2010Project;
@@ -441,6 +451,7 @@ sub WriteConfigurationPropertyGroup
<PlatformToolset>$self->{PlatformToolset}</PlatformToolset>
</PropertyGroup>
EOF
return;
}
package VC2013Project;

View File

@@ -964,6 +964,7 @@ sub AddContrib
# Are there any output data files to build?
GenerateContribSqlFiles($n, $mf);
return;
}
sub GenerateContribSqlFiles
@@ -1010,6 +1011,7 @@ sub GenerateContribSqlFiles
}
}
}
return;
}
sub AdjustContribProj
@@ -1020,6 +1022,7 @@ sub AdjustContribProj
\@contrib_uselibpq, \@contrib_uselibpgport,
\@contrib_uselibpgcommon, $contrib_extralibs,
$contrib_extrasource, $contrib_extraincludes);
return;
}
sub AdjustFrontendProj
@@ -1030,6 +1033,7 @@ sub AdjustFrontendProj
\@frontend_uselibpq, \@frontend_uselibpgport,
\@frontend_uselibpgcommon, $frontend_extralibs,
$frontend_extrasource, $frontend_extraincludes);
return;
}
sub AdjustModule
@@ -1086,6 +1090,7 @@ sub AdjustModule
$proj->AddFile($i);
}
}
return;
}
END

View File

@@ -45,6 +45,7 @@ sub AddFile
my ($self, $filename) = @_;
$self->{files}->{$filename} = 1;
return;
}
sub AddFiles
@@ -56,6 +57,7 @@ sub AddFiles
{
$self->{files}->{ $dir . "/" . $f } = 1;
}
return;
}
sub ReplaceFile
@@ -110,6 +112,7 @@ sub RelocateFiles
$self->AddFile($targetdir . '/' . basename($f));
}
}
return;
}
sub AddReference
@@ -122,6 +125,7 @@ sub AddReference
$self->AddLibrary(
"__CFGNAME__/" . $ref->{name} . "/" . $ref->{name} . ".lib");
}
return;
}
sub AddLibrary
@@ -138,6 +142,7 @@ sub AddLibrary
{
push @{ $self->{suffixlib} }, $lib;
}
return;
}
sub AddIncludeDir
@@ -149,6 +154,7 @@ sub AddIncludeDir
$self->{includes} .= ';';
}
$self->{includes} .= $inc;
return;
}
sub AddPrefixInclude
@@ -156,6 +162,7 @@ sub AddPrefixInclude
my ($self, $inc) = @_;
$self->{prefixincludes} = $inc . ';' . $self->{prefixincludes};
return;
}
sub AddDefine
@@ -164,6 +171,7 @@ sub AddDefine
$def =~ s/"/&quot;&quot;/g;
$self->{defines} .= $def . ';';
return;
}
sub FullExportDLL
@@ -173,6 +181,7 @@ sub FullExportDLL
$self->{builddef} = 1;
$self->{def} = "./__CFGNAME__/$self->{name}/$self->{name}.def";
$self->{implib} = "__CFGNAME__/$self->{name}/$libname";
return;
}
sub UseDef
@@ -180,6 +189,7 @@ sub UseDef
my ($self, $def) = @_;
$self->{def} = $def;
return;
}
sub AddDir
@@ -284,6 +294,7 @@ sub AddDir
}
$self->AddDirResourceFile($reldir);
return;
}
# If the directory's Makefile bears a description string, add a resource file.
@@ -299,6 +310,7 @@ sub AddDirResourceFile
if ($mf =~ /^PGAPPICON\s*=\s*(.*)$/m) { $ico = $1; }
$self->AddResourceFile($reldir, $desc, $ico);
}
return;
}
sub AddResourceFile
@@ -332,6 +344,7 @@ sub AddResourceFile
close($i);
}
$self->AddFile("$dir/win32ver.rc");
return;
}
sub DisableLinkerWarnings
@@ -341,6 +354,7 @@ sub DisableLinkerWarnings
$self->{disablelinkerwarnings} .= ','
unless ($self->{disablelinkerwarnings} eq '');
$self->{disablelinkerwarnings} .= $warnings;
return;
}
sub Save
@@ -366,6 +380,7 @@ sub Save
$self->WriteFiles($f);
$self->Footer($f);
close($f);
return;
}
sub GetAdditionalLinkerDependencies

View File

@@ -75,6 +75,7 @@ sub DeterminePlatform
$? >> 8 == 0 or die "cl command not found";
$self->{platform} = ($output =~ /^\/favor:<.+AMD64/m) ? 'x64' : 'Win32';
print "Detected hardware platform: $self->{platform}\n";
return;
}
# Return 1 if $oldfile is newer than $newfile, or if $newfile doesn't exist.
@@ -112,6 +113,7 @@ sub copyFile
}
close($i);
close($o);
return;
}
sub GenerateFiles
@@ -533,6 +535,7 @@ EOF
<!ENTITY majorversion "$self->{majorver}">
EOF
close($o);
return;
}
sub GenerateDefFile
@@ -555,6 +558,7 @@ sub GenerateDefFile
close($of);
close($if);
}
return;
}
sub AddProject
@@ -727,6 +731,7 @@ EOF
EndGlobal
EOF
close($sln);
return;
}
sub GetFakeConfigure

View File

@@ -56,6 +56,7 @@ EOF
</Configurations>
EOF
$self->WriteReferences($f);
return;
}
sub WriteFiles
@@ -152,6 +153,7 @@ EOF
print $f <<EOF;
</Files>
EOF
return;
}
sub Footer
@@ -162,6 +164,7 @@ sub Footer
<Globals/>
</VisualStudioProject>
EOF
return;
}
sub WriteConfiguration
@@ -227,6 +230,7 @@ EOF
print $f <<EOF;
</Configuration>
EOF
return;
}
sub WriteReferences
@@ -239,6 +243,7 @@ sub WriteReferences
" <ProjectReference ReferencedProjectIdentifier=\"$ref->{guid}\" Name=\"$ref->{name}\" />\n";
}
print $f " </References>\n";
return;
}
sub GenerateCustomTool

View File

@@ -107,7 +107,7 @@ sub renamefiles
move $f, $nf;
}
chdir $savedir;
return;
}
sub missing

View File

@@ -20,6 +20,7 @@ sub dumpsyms
system("dumpbin /symbols /out:$tmpfile $_ >NUL")
&& die "Could not call dumpbin";
rename($tmpfile, $symfile);
return;
}
# Given a symbol file path, loops over its contents
@@ -116,6 +117,7 @@ sub extract_syms
$def->{ $pieces[6] } = $pieces[3];
}
close($f);
return;
}
sub writedef
@@ -143,6 +145,7 @@ sub writedef
}
}
close($fh);
return;
}

View File

@@ -111,6 +111,7 @@ sub installcheck
system(@args);
my $status = $? >> 8;
exit $status if $status;
return;
}
sub check
@@ -132,6 +133,7 @@ sub check
system(@args);
my $status = $? >> 8;
exit $status if $status;
return;
}
sub ecpgcheck
@@ -157,6 +159,7 @@ sub ecpgcheck
system(@args);
$status = $? >> 8;
exit $status if $status;
return;
}
sub isolationcheck
@@ -173,6 +176,7 @@ sub isolationcheck
system(@args);
my $status = $? >> 8;
exit $status if $status;
return;
}
sub tap_check
@@ -224,6 +228,7 @@ sub bincheck
$mstat ||= $status;
}
exit $mstat if $mstat;
return;
}
sub taptest
@@ -244,6 +249,7 @@ sub taptest
InstallTemp();
my $status = tap_check(@args);
exit $status if $status;
return;
}
sub mangle_plpython3
@@ -365,6 +371,7 @@ sub plcheck
}
chdir "$topdir";
return;
}
sub subdircheck
@@ -413,6 +420,7 @@ sub subdircheck
print join(' ', @args), "\n";
system(@args);
chdir "..";
return;
}
sub contribcheck
@@ -434,6 +442,7 @@ sub contribcheck
$mstat ||= $status;
}
exit $mstat if $mstat;
return;
}
sub modulescheck
@@ -447,6 +456,7 @@ sub modulescheck
$mstat ||= $status;
}
exit $mstat if $mstat;
return;
}
sub recoverycheck
@@ -457,6 +467,7 @@ sub recoverycheck
my $dir = "$topdir/src/test/recovery";
my $status = tap_check($dir);
exit $status if $status;
return;
}
# Run "initdb", then reconfigure authentication.
@@ -501,6 +512,7 @@ sub generate_db
system('createdb', quote_system_arg($dbname));
my $status = $? >> 8;
exit $status if $status;
return;
}
sub upgradecheck
@@ -586,6 +598,7 @@ sub upgradecheck
print "dumps not identical!\n";
exit(1);
}
return;
}
sub fetchRegressOpts
@@ -680,6 +693,7 @@ sub InstallTemp
Install("$tmp_installdir", "all", $config);
}
$ENV{PATH} = "$tmp_installdir/bin;$ENV{PATH}";
return;
}
sub usage

View File

@@ -297,4 +297,6 @@ sub checkit
print "$file references $symbol, defined in @places\n";
# print "includes: @includes\n";
return;
}

View File

@@ -93,6 +93,8 @@ sub check_indent
"You appear to have GNU indent rather than BSD indent.\n";
exit 1;
}
return;
}
@@ -162,6 +164,7 @@ sub process_exclude
}
close($eh);
}
return;
}
@@ -189,6 +192,7 @@ sub write_source
|| die "cannot open file \"$source_filename\": $!\n";
print $src_fh $source;
close($src_fh);
return;
}
@@ -316,6 +320,7 @@ sub diff
. $pre_fh->filename . " "
. $post_fh->filename
. " >&2");
return;
}
@@ -361,6 +366,7 @@ sub run_build
$ENV{PGINDENT} = abs_path('pg_bsd_indent');
chdir $save_dir;
return;
}
@@ -382,6 +388,7 @@ sub build_clean
system("rm -rf src/tools/pgindent/pg_bsd_indent");
system("rm -f src/tools/pgindent/tmp_typedefs.list");
return;
}

View File

@@ -12,3 +12,8 @@ theme = core
# allow octal constants with leading zeros
[-ValuesAndExpressions::ProhibitLeadingZeros]
# for now raise severity of this to level 5
[Subroutines::RequireFinalReturn]
severity = 5

View File

@@ -15,7 +15,7 @@ PERLCRITIC=${PERLCRITIC:-perlcritic}
# locate all Perl files in the tree
{
# take all .pl and .pm files
find . -type f -a \( -name '*.pl' -o -name '*.pm' \) -print
find . -type f -name '*.p[lm]' -print
# take executable files that file(1) thinks are perl files
find . -type f -perm -100 -exec file {} \; -print |
egrep -i ':.*perl[0-9]*\>' |

View File

@@ -141,4 +141,5 @@ sub sed_file
or die "mv failed: $?";
$fixedfiles .= "\t$filename\n";
return;
}