diff options
author | Michael Schroeder <mls@suse.de> | 2018-05-03 10:27:55 +0200 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2018-05-03 10:56:35 +0200 |
commit | 782262cf347260fdf02d37c7c08c40f0a310c3db (patch) | |
tree | e1e0029cbaaa6b729699b6290e13ce45999be8f4 /Build | |
parent | bd7f9594005a5f399017146da70261cabddef7eb (diff) |
More fixes for rich dependencies
Diffstat (limited to 'Build')
-rw-r--r-- | Build/Rpm.pm | 20 |
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); |