From ee37c9202bb80ea4ee50bf463df1495eaf0d3a7c Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Mon, 25 Nov 2013 21:18:28 +0100 Subject: perl: Try to avoid boolean operators after predicates on error checks Using boolean operators after predicates for error checking makes the code flow slightly confusing, do that only after actions, to check if they succeeded and error out otherwise. --- scripts/Dpkg/Source/Package/V1.pm | 6 ++++-- scripts/Dpkg/Source/Package/V3/Bzr.pm | 2 +- scripts/Dpkg/Source/Package/V3/Git.pm | 10 +++++----- scripts/Dpkg/Source/Patch.pm | 14 ++++++++++---- 4 files changed, 20 insertions(+), 12 deletions(-) (limited to 'scripts/Dpkg/Source') diff --git a/scripts/Dpkg/Source/Package/V1.pm b/scripts/Dpkg/Source/Package/V1.pm index f63d987ef..7bb548c7b 100644 --- a/scripts/Dpkg/Source/Package/V1.pm +++ b/scripts/Dpkg/Source/Package/V1.pm @@ -81,9 +81,10 @@ sub do_extract { my $fields = $self->{fields}; $sourcestyle =~ y/X/p/; - $sourcestyle =~ m/[pun]/ || + unless ($sourcestyle =~ m/[pun]/) { usageerr(_g('source handling style -s%s not allowed with -x'), $sourcestyle); + } my $dscdir = $self->{basedir}; @@ -236,10 +237,11 @@ sub do_build { } } else { $sourcestyle =~ y/aA/nn/; - $sourcestyle =~ m/n/ || + unless ($sourcestyle =~ m/n/) { error(_g('orig argument is empty (means no orig, no diff) ' . 'but source handling style -s%s wants something'), $sourcestyle); + } } } elsif ($sourcestyle =~ m/[aA]/) { # We have no explicit or , try to use diff --git a/scripts/Dpkg/Source/Package/V3/Bzr.pm b/scripts/Dpkg/Source/Package/V3/Bzr.pm index 86ca1826d..725ed6ffd 100644 --- a/scripts/Dpkg/Source/Package/V3/Bzr.pm +++ b/scripts/Dpkg/Source/Package/V3/Bzr.pm @@ -141,7 +141,7 @@ sub do_build { my $tardir = "$tmp/$dirname"; system('bzr', 'branch', $dir, $tardir); - $? && subprocerr("bzr branch $dir $tardir"); + subprocerr("bzr branch $dir $tardir") if $?; # Remove the working tree. system('bzr', 'remove-tree', $tardir); diff --git a/scripts/Dpkg/Source/Package/V3/Git.pm b/scripts/Dpkg/Source/Package/V3/Git.pm index 3ac6384d4..2ca079556 100644 --- a/scripts/Dpkg/Source/Package/V3/Git.pm +++ b/scripts/Dpkg/Source/Package/V3/Git.pm @@ -152,12 +152,12 @@ sub do_build { $self->{options}{git_depth}); system('git', 'clone', '--depth=' . $self->{options}{git_depth}, '--quiet', '--bare', 'file://' . abs_path($dir), $clone_dir); - $? && subprocerr('git clone'); + subprocerr('git clone') if $?; chdir($clone_dir) || syserr(_g("unable to chdir to `%s'"), $clone_dir); $shallowfile = "$basenamerev.gitshallow"; system('cp', '-f', 'shallow', "$old_cwd/$shallowfile"); - $? && subprocerr('cp shallow'); + subprocerr('cp shallow') if $?; } # Create the git bundle. @@ -170,7 +170,7 @@ sub do_build { 'HEAD', # ensure HEAD is included no matter what '--', # avoids ambiguity error when referring to eg, a debian branch ); - $? && subprocerr('git bundle'); + subprocerr('git bundle') if $?; chdir($old_cwd) || syserr(_g("unable to chdir to `%s'"), $old_cwd); @@ -221,14 +221,14 @@ sub do_extract { # Extract git bundle. info(_g('cloning %s'), $bundle); system('git', 'clone', '--quiet', $dscdir . $bundle, $newdirectory); - $? && subprocerr('git bundle'); + subprocerr('git bundle') if $?; if (defined $shallow) { # Move shallow info file into place, so git does not # try to follow parents of shallow refs. info(_g('setting up shallow clone')); system('cp', '-f', $dscdir . $shallow, "$newdirectory/.git/shallow"); - $? && subprocerr('cp'); + subprocerr('cp') if $?; } sanity_check($newdirectory); diff --git a/scripts/Dpkg/Source/Patch.pm b/scripts/Dpkg/Source/Patch.pm index 4f61ad10f..a77dd78f5 100644 --- a/scripts/Dpkg/Source/Patch.pm +++ b/scripts/Dpkg/Source/Patch.pm @@ -169,18 +169,23 @@ sub add_diff_directory { $self->_fail_not_same_type("$old/$fn", "$new/$fn"); return; } - defined(my $n = readlink("$new/$fn")) || + my $n = readlink("$new/$fn"); + unless (defined $n) { syserr(_g('cannot read link %s'), "$new/$fn"); - defined(my $n2 = readlink("$old/$fn")) || + } + my $n2 = readlink("$old/$fn"); + unless (defined $n2) { syserr(_g('cannot read link %s'), "$old/$fn"); + } unless ($n eq $n2) { $self->_fail_not_same_type("$old/$fn", "$new/$fn"); } } elsif (-f _) { my $old_file = "$old/$fn"; if (not lstat("$old/$fn")) { - $! == ENOENT || + if ($! != ENOENT) { syserr(_g('cannot stat file %s'), "$old/$fn"); + } $old_file = '/dev/null'; } elsif (not -f _) { $self->_fail_not_same_type("$old/$fn", "$new/$fn"); @@ -202,8 +207,9 @@ sub add_diff_directory { _g('device or socket is not allowed')); } elsif (-d _) { if (not lstat("$old/$fn")) { - $! == ENOENT || + if ($! != ENOENT) { syserr(_g('cannot stat file %s'), "$old/$fn"); + } } elsif (not -d _) { $self->_fail_not_same_type("$old/$fn", "$new/$fn"); } -- cgit v1.2.3