try:\r
pcdvalue = ValueExpressionEx(pcdvalue[1:], PcdDatumType, self._GuidDict)(True)\r
except BadExpression, Value:\r
- if Value.result > 1:\r
- EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
- (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
- pcdvalue = 'H' + pcdvalue\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ if PcdDatumType == "VOID*":\r
+ pcdvalue = 'H' + pcdvalue\r
+ elif pcdvalue.startswith("L'"):\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ if pcdvalue.startswith('{'):\r
+ pcdvalue = 'H' + pcdvalue\r
+ elif pcdvalue.startswith("'"):\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ if pcdvalue.startswith('{'):\r
+ pcdvalue = 'H' + pcdvalue\r
+ elif pcdvalue.startswith('L'):\r
+ pcdvalue = 'L"' + pcdvalue[1:] + '"'\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ else:\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
NewValue = BuildOptionPcdValueFormat(TokenSpaceGuidCName, TokenCName, PcdDatumType, pcdvalue)\r
FoundFlag = True\r
else:\r
except BadExpression, Value:\r
EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
(TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
- pcdvalue = 'H' + pcdvalue\r
+ if PcdDatumType == "VOID*":\r
+ pcdvalue = 'H' + pcdvalue\r
+ elif pcdvalue.startswith("L'"):\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(\r
+ True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ if pcdvalue.startswith('{'):\r
+ pcdvalue = 'H' + pcdvalue\r
+ elif pcdvalue.startswith("'"):\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(\r
+ True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ if pcdvalue.startswith('{'):\r
+ pcdvalue = 'H' + pcdvalue\r
+ elif pcdvalue.startswith('L'):\r
+ pcdvalue = 'L"' + pcdvalue[1:] + '"'\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(\r
+ True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
+ else:\r
+ try:\r
+ pcdvalue = ValueExpressionEx(pcdvalue, PcdDatumType, self._GuidDict)(True)\r
+ except BadExpression, Value:\r
+ EdkLogger.error('Parser', FORMAT_INVALID,\r
+ 'PCD [%s.%s] Value "%s", %s' %\r
+ (TokenSpaceGuidCName, TokenCName, pcdvalue, Value))\r
NewValue = BuildOptionPcdValueFormat(TokenSpaceGuidCName, TokenCName, PcdDatumType, pcdvalue)\r
FoundFlag = True\r
else:\r