]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Fix bug caused by 03c36c36a3
authorYonghong Zhu <yonghong.zhu@intel.com>
Wed, 17 Oct 2018 12:15:07 +0000 (20:15 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Thu, 18 Oct 2018 01:36:49 +0000 (09:36 +0800)
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>
BaseTools/Source/Python/Common/Expression.py

index e398f7a034319fa9765f75aa8898f9f5fa54ea28..05459b9c26ee7285b69f3fe391a4b4039ee0977b 100644 (file)
@@ -297,8 +297,8 @@ class ValueExpression(BaseExpression):
                 else:\r
                     raise BadExpression(ERR_EXPR_TYPE)\r
             if isinstance(Oprand1, type('')) and isinstance(Oprand2, type('')):\r
-                if ((Oprand1.startswith('L"') or Oprand1.startswith('L')) and (not Oprand2.startswith('L"')) and (not Oprand2.startswith("L'"))) or \\r
-                        (((not Oprand1.startswith('L"')) and (not Oprand1.startswith("L'"))) and (Oprand2.startswith('L"') or Oprand2.startswith('L'))):\r
+                if ((Oprand1.startswith('L"') or Oprand1.startswith("L'")) and (not Oprand2.startswith('L"')) and (not Oprand2.startswith("L'"))) or \\r
+                        (((not Oprand1.startswith('L"')) and (not Oprand1.startswith("L'"))) and (Oprand2.startswith('L"') or Oprand2.startswith("L'"))):\r
                     raise BadExpression(ERR_STRING_CMP % (Oprand1, Operator, Oprand2))\r
             if 'in' in Operator and isinstance(Oprand2, type('')):\r
                 Oprand2 = Oprand2.split()\r