summaryrefslogtreecommitdiffstats
path: root/pym/portage_dep.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage_dep.py')
-rw-r--r--pym/portage_dep.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/pym/portage_dep.py b/pym/portage_dep.py
index de5c504cc..116bb2043 100644
--- a/pym/portage_dep.py
+++ b/pym/portage_dep.py
@@ -79,7 +79,11 @@ def use_reduce(deparray, uselist=[], masklist=[], matchall=0, excludeall=[]):
head = mydeparray.pop(0)
if type(head) == types.ListType:
- rlist.append(use_reduce(head, uselist, masklist, matchall, excludeall))
+ additions = use_reduce(head, uselist, masklist, matchall, excludeall)
+ if additions:
+ rlist.append(additions)
+ elif rlist and rlist[-1] in ("||","&&"):
+ raise portage_exception.InvalidDependString("INVALID "+rlist[-1]+" DEPEND STRING: "+str(deparray))
else:
if head[-1] == "?": # Use reduce next group on fail.
@@ -122,7 +126,9 @@ def use_reduce(deparray, uselist=[], masklist=[], matchall=0, excludeall=[]):
if ismatch:
target = newdeparray[-1]
if isinstance(target, list):
- rlist.append(use_reduce(target, uselist, masklist, matchall, excludeall))
+ additions = use_reduce(target, uselist, masklist, matchall, excludeall)
+ if additions:
+ rlist.append(additions)
else:
rlist += [target]