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 /dselect/methods/disk | |
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 'dselect/methods/disk')
-rwxr-xr-x | dselect/methods/disk/install | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/dselect/methods/disk/install b/dselect/methods/disk/install index edd3f7074..c6e70b1c8 100755 --- a/dselect/methods/disk/install +++ b/dselect/methods/disk/install @@ -63,10 +63,11 @@ do @filename= split(/ /,$_) if s/^Filename: //i; @msdosfilename= split(/ /,$_) if s/^MSDOS-Filename: //i; } - length($package) || die "internal error - no package"; - @filename || die "internal error - no filename"; - @filename==@msdosfilename || !@filename || !@msdosfilename || - die "internal error - mismatch >@filename< >@msdosfilename<"; + die "internal error - no package" if length($package) == 0; + die "internal error - no filename" if not @filename; + die "internal error - mismatch >@filename< >@msdosfilename<" + if @filename && @msdosfilename && + @filename != @msdosfilename; @invoke=(); $|=1; for ($i=0; $i<=$#filename; $i++) { $ppart= $i+1; @@ -80,8 +81,10 @@ do } else { $base= $filename[$i]; $base =~ s,.*/,,; $msdosbase= $msdosfilename[$i]; $msdosbase =~ s,.*/,,; - defined($c= open(X,"-|")) || + $c = open(X, "-|")); + if (not defined $c) { die "failed to fork for find: $!\n"; + } if (!$c) { exec("find", "-L", length($binaryprefix) ? |