BaseTools: Add special handle for '\' use in Pcd Value
V2: Follow PEP8 to not multiples import on one line Case: gEfiOzmosisPkgTokenSpaceGuid.PcdBootLogFolderPath|L"\\Logs\\"|VOID*|12 Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=1287 Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
This commit is contained in:
@ -24,6 +24,7 @@ import re
|
||||
import pickle
|
||||
import array
|
||||
import shutil
|
||||
from random import sample
|
||||
from struct import pack
|
||||
from UserDict import IterableUserDict
|
||||
from UserList import UserList
|
||||
@ -1236,7 +1237,8 @@ def IsFieldValueAnArray (Value):
|
||||
return False
|
||||
|
||||
def AnalyzePcdExpression(Setting):
|
||||
Setting = Setting.strip()
|
||||
RanStr = ''.join(sample(string.ascii_letters + string.digits, 8))
|
||||
Setting = Setting.replace('\\\\', RanStr).strip()
|
||||
# There might be escaped quote in a string: \", \\\" , \', \\\'
|
||||
Data = Setting
|
||||
# There might be '|' in string and in ( ... | ... ), replace it with '-'
|
||||
@ -1269,7 +1271,9 @@ def AnalyzePcdExpression(Setting):
|
||||
break
|
||||
FieldList.append(Setting[StartPos:Pos].strip())
|
||||
StartPos = Pos + 1
|
||||
|
||||
for i, ch in enumerate(FieldList):
|
||||
if RanStr in ch:
|
||||
FieldList[i] = ch.replace(RanStr,'\\\\')
|
||||
return FieldList
|
||||
|
||||
def ParseDevPathValue (Value):
|
||||
|
Reference in New Issue
Block a user