diff options
author | Guillem Jover <guillem@debian.org> | 2013-11-25 21:18:28 +0100 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2013-12-04 06:56:56 +0100 |
commit | ee37c9202bb80ea4ee50bf463df1495eaf0d3a7c (patch) | |
tree | e6fd1c2c6a0e4e13ecba2804ea909a5c8c7e2eee /scripts/Dpkg/Source | |
parent | 0f802f0071e0efd7a260f83c5efc554f0ba585d9 (diff) | |
download | dpkg-ee37c9202bb80ea4ee50bf463df1495eaf0d3a7c.tar.gz |
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.
Diffstat (limited to 'scripts/Dpkg/Source')
-rw-r--r-- | scripts/Dpkg/Source/Package/V1.pm | 6 | ||||
-rw-r--r-- | scripts/Dpkg/Source/Package/V3/Bzr.pm | 2 | ||||
-rw-r--r-- | scripts/Dpkg/Source/Package/V3/Git.pm | 10 | ||||
-rw-r--r-- | scripts/Dpkg/Source/Patch.pm | 14 |
4 files changed, 20 insertions, 12 deletions
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 <orig-dir> or <orig-targz>, 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"); } |