elif TypeName == 'VOID*':
if MaxSize == 0:
return OPTION_MISSING, "PcdMaxSize is not specified for VOID* type PCD."
- ValueLength = MaxSize
+ ValueLength = int(MaxSize)
else:
return PARAMETER_INVALID, "PCD type %s is not valid." %(CommandOptions.PcdTypeName)
#
#
# Patch value into offset
#
+ SavedStr = ValueString
ValueString = ValueString.upper()
ValueNumber = 0
if TypeName == 'BOOLEAN':
elif ValueString == 'FALSE':
ValueNumber = 0
elif ValueString.startswith('0X'):
- ValueNumber = int (Value, 16)
+ ValueNumber = int (ValueString, 16)
else:
- ValueNumber = int (Value)
+ ValueNumber = int (ValueString)
if ValueNumber != 0:
ValueNumber = 1
except:
ByteList[ValueOffset + Index] = ValueNumber % 0x100
ValueNumber = ValueNumber / 0x100
elif TypeName == 'VOID*':
- if ValueString.startswith("L "):
+ ValueString = SavedStr
+ if ValueString.startswith('L"'):
#
# Patch Unicode String
#
Index = 0
- for ByteString in ValueString[2:]:
+ for ByteString in ValueString[2:-1]:
#
# Reserve zero as unicode tail
#
# Patch ascii string
#
Index = 0
- for ByteString in ValueString:
+ for ByteString in ValueString[1:-1]:
#
# Reserve zero as string tail
#