[rtems-source-builder commit] sb: Fix %if logical OP parsing.
Chris Johns
chrisj at rtems.org
Fri Mar 18 02:37:37 UTC 2016
Module: rtems-source-builder
Branch: 4.11
Commit: 7d7f7749ee00e42eca9cdf29fcd9e2496a7d4de6
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=7d7f7749ee00e42eca9cdf29fcd9e2496a7d4de6
Author: Chris Johns <chrisj at rtems.org>
Date: Fri Mar 18 10:45:28 2016 +1100
sb: Fix %if logical OP parsing.
Updates #2655.
---
source-builder/sb/config.py | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/source-builder/sb/config.py b/source-builder/sb/config.py
index 732239f..4c26714 100644
--- a/source-builder/sb/config.py
+++ b/source-builder/sb/config.py
@@ -781,20 +781,26 @@ class file:
elif cls[0] == '&&':
join_op = 'and'
cls = cls[1:]
+ log.trace('config: %s: _if: joining: %s' % (self.name, join_op))
ori = 0
andi = 0
i = len(cls)
if '||' in cls:
ori = cls.index('||')
+ log.trace('config: %s: _if: OR found at %i' % (self.name, ori))
if '&&' in cls:
andi = cls.index('&&')
+ log.trace('config: %s: _if: AND found at %i' % (self.name, andi))
if ori > 0 or andi > 0:
- if ori < andi:
+ if ori == 0:
+ i = andii
+ elif andi == 0:
i = ori
- else:
+ elif ori < andi:
i = andi
- if ori == 0:
+ else:
i = andi
+ log.trace('config: %s: _if: next OP found at %i' % (self.name, i))
ls = cls[:i]
if len(ls) == 0:
self._error('invalid if expression: ' + reduce(add, sls, ''))
More information about the vc
mailing list