OUT UINTN *Data\r
)\r
{\r
+ BOOLEAN FoundLeadingZero;\r
+\r
+ FoundLeadingZero = FALSE;\r
ASSERT (((UINTN)String & BIT0) == 0);\r
\r
//\r
//\r
// Ignore leading Zeros after the spaces\r
//\r
+\r
+ FoundLeadingZero = *String == L'0';\r
while (*String == L'0') {\r
String++;\r
}\r
\r
if (CharToUpper (*String) == L'X') {\r
- if (*(String - 1) != L'0') {\r
+ if (!FoundLeadingZero) {\r
*Data = 0;\r
return RETURN_SUCCESS;\r
}\r
OUT UINT64 *Data\r
)\r
{\r
+ BOOLEAN FoundLeadingZero;\r
+\r
+ FoundLeadingZero = FALSE;\r
ASSERT (((UINTN)String & BIT0) == 0);\r
\r
//\r
//\r
// Ignore leading Zeros after the spaces\r
//\r
+ FoundLeadingZero = *String == L'0';\r
while (*String == L'0') {\r
String++;\r
}\r
\r
if (CharToUpper (*String) == L'X') {\r
- if (*(String - 1) != L'0') {\r
+ if (!FoundLeadingZero) {\r
*Data = 0;\r
return RETURN_SUCCESS;\r
}\r
OUT UINTN *Data\r
)\r
{\r
+ BOOLEAN FoundLeadingZero;\r
+\r
+ FoundLeadingZero = FALSE;\r
//\r
// 1. Neither String nor Data shall be a null pointer.\r
//\r
//\r
// Ignore leading Zeros after the spaces\r
//\r
+ FoundLeadingZero = *String == '0';\r
while (*String == '0') {\r
String++;\r
}\r
\r
if (AsciiCharToUpper (*String) == 'X') {\r
- if (*(String - 1) != '0') {\r
+ if (!FoundLeadingZero) {\r
*Data = 0;\r
return RETURN_SUCCESS;\r
}\r
OUT UINT64 *Data\r
)\r
{\r
+ BOOLEAN FoundLeadingZero;\r
+\r
+ FoundLeadingZero = FALSE;\r
//\r
// 1. Neither String nor Data shall be a null pointer.\r
//\r
//\r
// Ignore leading Zeros after the spaces\r
//\r
+ FoundLeadingZero = *String == '0';\r
while (*String == '0') {\r
String++;\r
}\r
\r
if (AsciiCharToUpper (*String) == 'X') {\r
- if (*(String - 1) != '0') {\r
+ if (!FoundLeadingZero) {\r
*Data = 0;\r
return RETURN_SUCCESS;\r
}\r