Sync EDKII BaseTools to BaseTools project r1903.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10123 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -44,18 +44,6 @@ STATIC UINT32 mMaxWarnings = 0;
|
||||
STATIC UINT32 mMaxWarningsPlusErrors = 0;
|
||||
STATIC INT8 mPrintLimitsSet = 0;
|
||||
|
||||
STATIC
|
||||
VOID
|
||||
PrintMessage (
|
||||
CHAR8 *Type,
|
||||
CHAR8 *FileName,
|
||||
UINT32 LineNumber,
|
||||
UINT32 MessageCode,
|
||||
CHAR8 *Text,
|
||||
CHAR8 *MsgFmt,
|
||||
va_list List
|
||||
);
|
||||
|
||||
STATIC
|
||||
VOID
|
||||
PrintLimitExceeded (
|
||||
@@ -151,12 +139,6 @@ Notes:
|
||||
va_start (List, MsgFmt);
|
||||
PrintMessage ("ERROR", FileName, LineNumber, MessageCode, Text, MsgFmt, List);
|
||||
va_end (List);
|
||||
//
|
||||
// Set status accordingly
|
||||
//
|
||||
if (mStatus < STATUS_ERROR) {
|
||||
mStatus = STATUS_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
@@ -211,12 +193,6 @@ Returns:
|
||||
va_start (List, MsgFmt);
|
||||
PrintMessage ("ERROR", mSourceFileName, mSourceFileLineNum, MessageCode, Text, MsgFmt, List);
|
||||
va_end (List);
|
||||
//
|
||||
// Set status accordingly
|
||||
//
|
||||
if (mStatus < STATUS_ERROR) {
|
||||
mStatus = STATUS_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
@@ -396,7 +372,6 @@ Returns:
|
||||
va_end (List);
|
||||
}
|
||||
|
||||
STATIC
|
||||
VOID
|
||||
PrintMessage (
|
||||
CHAR8 *Type,
|
||||
@@ -517,6 +492,15 @@ Notes:
|
||||
sprintf (Line, "%s", mUtilityName);
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp (Type, "ERROR") == 0) {
|
||||
//
|
||||
// Set status accordingly for ERROR information.
|
||||
//
|
||||
if (mStatus < STATUS_ERROR) {
|
||||
mStatus = STATUS_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
@@ -545,6 +529,7 @@ Notes:
|
||||
vsprintf (Line2, MsgFmt, List);
|
||||
fprintf (stdout, " %s\n", Line2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
STATIC
|
||||
|
@@ -70,6 +70,17 @@ SetUtilityName (
|
||||
)
|
||||
;
|
||||
|
||||
VOID
|
||||
PrintMessage (
|
||||
CHAR8 *Type,
|
||||
CHAR8 *FileName,
|
||||
UINT32 LineNumber,
|
||||
UINT32 MessageCode,
|
||||
CHAR8 *Text,
|
||||
CHAR8 *MsgFmt,
|
||||
va_list List
|
||||
);
|
||||
|
||||
VOID
|
||||
Error (
|
||||
CHAR8 *FileName,
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2004 - 2008, Intel Corporation
|
||||
Copyright (c) 2004 - 2010, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -484,13 +484,14 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
UINT8 Index;
|
||||
UINT64 HexNumber;
|
||||
UINT64 Value;
|
||||
CHAR8 CurrentChar;
|
||||
|
||||
//
|
||||
// Initialize the result
|
||||
//
|
||||
HexNumber = 0;
|
||||
Value = 0;
|
||||
Index = 0;
|
||||
|
||||
//
|
||||
// Check input paramter
|
||||
@@ -498,50 +499,65 @@ Returns:
|
||||
if (AsciiString == NULL || ReturnValue == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
while (AsciiString[Index] == ' ') {
|
||||
Index ++;
|
||||
}
|
||||
|
||||
//
|
||||
// Add each character to the result
|
||||
//
|
||||
if (IsHex || (AsciiString[0] == '0' && (AsciiString[1] == 'x' || AsciiString[1] == 'X'))) {
|
||||
//
|
||||
// Verify string is a hex number
|
||||
//
|
||||
for (Index = 2; Index < strlen (AsciiString); Index++) {
|
||||
if (isxdigit ((int)AsciiString[Index]) == 0) {
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
}
|
||||
if (IsHex || (AsciiString[Index] == '0' && (AsciiString[Index + 1] == 'x' || AsciiString[Index + 1] == 'X'))) {
|
||||
//
|
||||
// Convert the hex string.
|
||||
//
|
||||
for (Index = 2; AsciiString[Index] != '\0'; Index++) {
|
||||
for (Index = Index + 2; AsciiString[Index] != '\0'; Index++) {
|
||||
CurrentChar = AsciiString[Index];
|
||||
HexNumber *= 16;
|
||||
if (CurrentChar >= '0' && CurrentChar <= '9') {
|
||||
HexNumber += CurrentChar - '0';
|
||||
} else if (CurrentChar >= 'a' && CurrentChar <= 'f') {
|
||||
HexNumber += CurrentChar - 'a' + 10;
|
||||
} else if (CurrentChar >= 'A' && CurrentChar <= 'F') {
|
||||
HexNumber += CurrentChar - 'A' + 10;
|
||||
} else {
|
||||
//
|
||||
// Unrecognized character
|
||||
//
|
||||
if (CurrentChar == ' ') {
|
||||
break;
|
||||
}
|
||||
//
|
||||
// Verify Hex string
|
||||
//
|
||||
if (isxdigit ((int)CurrentChar) == 0) {
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
//
|
||||
// Add hex value
|
||||
//
|
||||
Value *= 16;
|
||||
if (CurrentChar >= '0' && CurrentChar <= '9') {
|
||||
Value += CurrentChar - '0';
|
||||
} else if (CurrentChar >= 'a' && CurrentChar <= 'f') {
|
||||
Value += CurrentChar - 'a' + 10;
|
||||
} else if (CurrentChar >= 'A' && CurrentChar <= 'F') {
|
||||
Value += CurrentChar - 'A' + 10;
|
||||
}
|
||||
}
|
||||
|
||||
*ReturnValue = HexNumber;
|
||||
*ReturnValue = Value;
|
||||
} else {
|
||||
//
|
||||
// Verify string is a number
|
||||
// Convert dec string is a number
|
||||
//
|
||||
for (Index = 0; Index < strlen (AsciiString); Index++) {
|
||||
if (isdigit ((int)AsciiString[Index]) == 0) {
|
||||
for (; Index < strlen (AsciiString); Index++) {
|
||||
CurrentChar = AsciiString[Index];
|
||||
if (CurrentChar == ' ') {
|
||||
break;
|
||||
}
|
||||
//
|
||||
// Verify Dec string
|
||||
//
|
||||
if (isdigit ((int)CurrentChar) == 0) {
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
//
|
||||
// Add dec value
|
||||
//
|
||||
Value = Value * 10;
|
||||
Value += CurrentChar - '0';
|
||||
}
|
||||
|
||||
*ReturnValue = atol (AsciiString);
|
||||
*ReturnValue = Value;
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
|
Reference in New Issue
Block a user