try:\r
if Value.upper().endswith('L'):\r
Value = Value[:-1]\r
- if Value.upper().startswith('0X'):\r
- ValueNumber = int (Value, 16)\r
- else:\r
- ValueNumber = int (Value)\r
+ ValueNumber = int (Value, 0)\r
except:\r
EdkLogger.error("build", AUTOGEN_ERROR,\r
"PCD value is not valid dec or hex number for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
\r
if ItemSize == 0:\r
try:\r
- tmpValue = int(Item, 16) if Item.upper().startswith('0X') else int(Item, 0)\r
+ tmpValue = int(Item, 0)\r
if tmpValue > 255:\r
raise BadExpression("Byte array number %s should less than 0xFF." % Item)\r
except BadExpression, Value:\r
ItemValue = ParseFieldValue(Item)[0]\r
\r
if type(ItemValue) == type(''):\r
- ItemValue = int(ItemValue, 16) if ItemValue.startswith('0x') else int(ItemValue)\r
+ ItemValue = int(ItemValue, 0)\r
\r
TmpValue = (ItemValue << (Size * 8)) | TmpValue\r
Size = Size + ItemSize\r
if Scope in ['UINT64', 'UINT8']:\r
ValueNumber = 0\r
try:\r
- if Value.upper().startswith('0X'):\r
- ValueNumber = int (Value, 16)\r
- else:\r
- ValueNumber = int (Value)\r
+ ValueNumber = int (Value, 0)\r
except:\r
EdkLogger.error("FdfParser", FORMAT_INVALID, "The value is not valid dec or hex number for %s." % Name)\r
if ValueNumber < 0:\r
ValueNumber = 1\r
elif ValueString == 'FALSE':\r
ValueNumber = 0\r
- elif ValueString.startswith('0X'):\r
- ValueNumber = int (ValueString, 16)\r
- else:\r
- ValueNumber = int (ValueString)\r
+ ValueNumber = int (ValueString, 0)\r
if ValueNumber != 0:\r
ValueNumber = 1\r
except:\r
# Get PCD value for UINT* data type\r
#\r
try:\r
- if ValueString.startswith('0X'):\r
- ValueNumber = int (ValueString, 16)\r
- else:\r
- ValueNumber = int (ValueString)\r
+ ValueNumber = int (ValueString, 0)\r
except:\r
return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string." % (ValueString)\r
#\r