summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2018-05-03 10:27:55 +0200
committerMichael Schroeder <mls@suse.de>2018-05-03 10:56:35 +0200
commit782262cf347260fdf02d37c7c08c40f0a310c3db (patch)
treee1e0029cbaaa6b729699b6290e13ce45999be8f4 /Build
parentbd7f9594005a5f399017146da70261cabddef7eb (diff)
More fixes for rich dependencies
Diffstat (limited to 'Build')
-rw-r--r--Build/Rpm.pm20
1 files changed, 7 insertions, 13 deletions
diff --git a/Build/Rpm.pm b/Build/Rpm.pm
index 6955df9..0482a39 100644
--- a/Build/Rpm.pm
+++ b/Build/Rpm.pm
@@ -1189,20 +1189,14 @@ sub getnevr_rich {
my ($d) = @_;
my $n = '';
my $bl = 0;
- while ($d =~ /^([^ ,\(\)]+)/) {
+ while ($d =~ /^([^ ,\(\)]*)/) {
$n .= $1;
$d = substr($d, length($1));
- if ($d =~ /^\(/) {
- $n .= '(';
- $bl++;
- $d = substr($d, 1);
- } elsif ($d =~ /^\)/) {
- if ($bl > 0) {
- $n .= ')';
- $d = substr($d, 1);
- }
- last if $bl-- <= 0;
- }
+ last unless $d =~ /^([\(\)])/;
+ $bl += $1 eq '(' ? 1 : -1;
+ last if $bl < 0;
+ $n .= $1;
+ $d = substr($d, 1);
}
return $n;
}
@@ -1276,7 +1270,7 @@ sub testcaseformat_rec {
my $r1 = testcaseformat_rec($r->[1], 1);
if (($op == 3 || $op == 4) && @$r == 4) {
$r1 = "$r1 $top " . testcaseformat_rec($r->[2], 1);
- $top = 'ELSE';
+ $top = '<ELSE>';
}
my $addparens2 = 1;
$addparens2 = 0 if $r->[2]->[0] == $op && ($op == 1 || $op == 2 || $op == 6);