mirror of https://github.com/acidanthera/audk.git
BaseTools: Fix bug caused by 03c36c36a3
In the expression for unicode string and general string compare, it should check whether it startswith "L'" or 'L"', but not "L". Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
53c64f4286
commit
fea5e28658
|
@ -297,8 +297,8 @@ class ValueExpression(BaseExpression):
|
||||||
else:
|
else:
|
||||||
raise BadExpression(ERR_EXPR_TYPE)
|
raise BadExpression(ERR_EXPR_TYPE)
|
||||||
if isinstance(Oprand1, type('')) and isinstance(Oprand2, type('')):
|
if isinstance(Oprand1, type('')) and isinstance(Oprand2, type('')):
|
||||||
if ((Oprand1.startswith('L"') or Oprand1.startswith('L')) and (not Oprand2.startswith('L"')) and (not Oprand2.startswith("L'"))) or \
|
if ((Oprand1.startswith('L"') or Oprand1.startswith("L'")) and (not Oprand2.startswith('L"')) and (not Oprand2.startswith("L'"))) or \
|
||||||
(((not Oprand1.startswith('L"')) and (not Oprand1.startswith("L'"))) and (Oprand2.startswith('L"') or Oprand2.startswith('L'))):
|
(((not Oprand1.startswith('L"')) and (not Oprand1.startswith("L'"))) and (Oprand2.startswith('L"') or Oprand2.startswith("L'"))):
|
||||||
raise BadExpression(ERR_STRING_CMP % (Oprand1, Operator, Oprand2))
|
raise BadExpression(ERR_STRING_CMP % (Oprand1, Operator, Oprand2))
|
||||||
if 'in' in Operator and isinstance(Oprand2, type('')):
|
if 'in' in Operator and isinstance(Oprand2, type('')):
|
||||||
Oprand2 = Oprand2.split()
|
Oprand2 = Oprand2.split()
|
||||||
|
|
Loading…
Reference in New Issue