mirror of https://github.com/acidanthera/audk.git
Minor adjust the logic in BasePrintLib and fix several typos
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7432 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
7b728d6273
commit
7c90509158
|
@ -91,42 +91,39 @@ BasePrintLibFillBuffer (
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Internal function that convert a decimal number to a string in Buffer.
|
Internal function that convert a number to a string in Buffer.
|
||||||
|
|
||||||
Print worker function that convert a decimal number to a string in Buffer.
|
Print worker function that converts a decimal or hexadecimal number to an ASCII string in Buffer.
|
||||||
|
|
||||||
@param Buffer Location to place the Unicode or ASCII string of Value.
|
@param Buffer Location to place the ASCII string of Value.
|
||||||
@param Value Value to convert to a Decimal or Hexadecimal string in Buffer.
|
@param Value Value to convert to a Decimal or Hexadecimal string in Buffer.
|
||||||
@param Radix Radix of the value
|
@param Radix Radix of the value
|
||||||
|
|
||||||
@return Number of characters printed.
|
@return A pointer to the end of buffer filled with ASCII string.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
UINTN
|
CHAR8 *
|
||||||
BasePrintLibValueToString (
|
BasePrintLibValueToString (
|
||||||
IN OUT CHAR8 *Buffer,
|
IN OUT CHAR8 *Buffer,
|
||||||
IN INT64 Value,
|
IN INT64 Value,
|
||||||
IN UINTN Radix
|
IN UINTN Radix
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINTN Digits;
|
|
||||||
UINT32 Remainder;
|
UINT32 Remainder;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Loop to convert one digit at a time in reverse order
|
// Loop to convert one digit at a time in reverse order
|
||||||
//
|
//
|
||||||
*(Buffer++) = 0;
|
*Buffer = 0;
|
||||||
Digits = 0;
|
|
||||||
do {
|
do {
|
||||||
Value = (INT64)DivU64x32Remainder ((UINT64)Value, (UINT32)Radix, &Remainder);
|
Value = (INT64)DivU64x32Remainder ((UINT64)Value, (UINT32)Radix, &Remainder);
|
||||||
*(Buffer++) = mHexStr[Remainder];
|
*(++Buffer) = mHexStr[Remainder];
|
||||||
Digits++;
|
|
||||||
} while (Value != 0);
|
} while (Value != 0);
|
||||||
|
|
||||||
//
|
//
|
||||||
// the length of Buffer string converted from Value
|
// Return pointer of the end of filled buffer.
|
||||||
//
|
//
|
||||||
return Digits;
|
return Buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -179,6 +176,7 @@ BasePrintLibConvertValueToString (
|
||||||
CHAR8 *OriginalBuffer;
|
CHAR8 *OriginalBuffer;
|
||||||
CHAR8 *EndBuffer;
|
CHAR8 *EndBuffer;
|
||||||
CHAR8 ValueBuffer[MAXIMUM_VALUE_CHARACTERS];
|
CHAR8 ValueBuffer[MAXIMUM_VALUE_CHARACTERS];
|
||||||
|
CHAR8 *ValueBufferPtr;
|
||||||
UINTN Count;
|
UINTN Count;
|
||||||
UINTN Digits;
|
UINTN Digits;
|
||||||
UINTN Index;
|
UINTN Index;
|
||||||
|
@ -231,7 +229,8 @@ BasePrintLibConvertValueToString (
|
||||||
// Count the length of the value string.
|
// Count the length of the value string.
|
||||||
//
|
//
|
||||||
Radix = ((Flags & RADIX_HEX) == 0)? 10 : 16;
|
Radix = ((Flags & RADIX_HEX) == 0)? 10 : 16;
|
||||||
Count = BasePrintLibValueToString (ValueBuffer, Value, Radix);
|
ValueBufferPtr = BasePrintLibValueToString (ValueBuffer, Value, Radix);
|
||||||
|
Count = ValueBufferPtr - ValueBuffer;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Append Zero
|
// Append Zero
|
||||||
|
@ -248,7 +247,7 @@ BasePrintLibConvertValueToString (
|
||||||
Digits = 3 - Digits;
|
Digits = 3 - Digits;
|
||||||
}
|
}
|
||||||
for (Index = 0; Index < Count; Index++) {
|
for (Index = 0; Index < Count; Index++) {
|
||||||
Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, 1, ValueBuffer[Count - Index], Increment);
|
Buffer = BasePrintLibFillBuffer (Buffer, EndBuffer, 1, *ValueBufferPtr--, Increment);
|
||||||
if ((Flags & COMMA_TYPE) != 0) {
|
if ((Flags & COMMA_TYPE) != 0) {
|
||||||
Digits++;
|
Digits++;
|
||||||
if (Digits == 3) {
|
if (Digits == 3) {
|
||||||
|
@ -273,13 +272,13 @@ BasePrintLibConvertValueToString (
|
||||||
based on a Null-terminated format string and a VA_LIST argument list.
|
based on a Null-terminated format string and a VA_LIST argument list.
|
||||||
|
|
||||||
VSPrint function to process format and place the results in Buffer. Since a
|
VSPrint function to process format and place the results in Buffer. Since a
|
||||||
VA_LIST is used this rountine allows the nesting of Vararg routines. Thus
|
VA_LIST is used this routine allows the nesting of Vararg routines. Thus
|
||||||
this is the main print working routine.
|
this is the main print working routine.
|
||||||
|
|
||||||
@param Buffer Character buffer to print the results of the parsing
|
@param Buffer Character buffer to print the results of the parsing
|
||||||
of Format into.
|
of Format into.
|
||||||
@param BufferSize Maximum number of characters to put into buffer.
|
@param BufferSize Maximum number of characters to put into buffer.
|
||||||
@param Flags Intial flags value.
|
@param Flags Initial flags value.
|
||||||
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set.
|
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set.
|
||||||
@param Format Null-terminated format string.
|
@param Format Null-terminated format string.
|
||||||
@param Marker Vararg list consumed by processing Format.
|
@param Marker Vararg list consumed by processing Format.
|
||||||
|
@ -362,8 +361,6 @@ BasePrintLibVSPrint (
|
||||||
FormatMask = 0xff;
|
FormatMask = 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Get the first character from the format string
|
// Get the first character from the format string
|
||||||
//
|
//
|
||||||
|
@ -526,7 +523,7 @@ BasePrintLibVSPrint (
|
||||||
//
|
//
|
||||||
// Convert Value to a reversed string
|
// Convert Value to a reversed string
|
||||||
//
|
//
|
||||||
Count = BasePrintLibValueToString (ValueBuffer, Value, Radix);
|
Count = BasePrintLibValueToString (ValueBuffer, Value, Radix) - ValueBuffer;
|
||||||
if (Value == 0 && Precision == 0) {
|
if (Value == 0 && Precision == 0) {
|
||||||
Count = 0;
|
Count = 0;
|
||||||
}
|
}
|
||||||
|
@ -793,14 +790,14 @@ BasePrintLibVSPrint (
|
||||||
based on a Null-terminated format string and variable argument list.
|
based on a Null-terminated format string and variable argument list.
|
||||||
|
|
||||||
VSPrint function to process format and place the results in Buffer. Since a
|
VSPrint function to process format and place the results in Buffer. Since a
|
||||||
VA_LIST is used this rountine allows the nesting of Vararg routines. Thus
|
VA_LIST is used this routine allows the nesting of Vararg routines. Thus
|
||||||
this is the main print working routine
|
this is the main print working routine
|
||||||
|
|
||||||
@param StartOfBuffer Character buffer to print the results of the parsing
|
@param StartOfBuffer Character buffer to print the results of the parsing
|
||||||
of Format into.
|
of Format into.
|
||||||
@param BufferSize Maximum number of characters to put into buffer.
|
@param BufferSize Maximum number of characters to put into buffer.
|
||||||
Zero means no limit.
|
Zero means no limit.
|
||||||
@param Flags Intial flags value.
|
@param Flags Initial flags value.
|
||||||
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set
|
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set
|
||||||
@param FormatString Null-terminated format string.
|
@param FormatString Null-terminated format string.
|
||||||
@param ... The variable argument list.
|
@param ... The variable argument list.
|
||||||
|
|
|
@ -56,13 +56,13 @@ typedef struct {
|
||||||
based on a Null-terminated format string and a VA_LIST argument list.
|
based on a Null-terminated format string and a VA_LIST argument list.
|
||||||
|
|
||||||
VSPrint function to process format and place the results in Buffer. Since a
|
VSPrint function to process format and place the results in Buffer. Since a
|
||||||
VA_LIST is used this rountine allows the nesting of Vararg routines. Thus
|
VA_LIST is used this routine allows the nesting of Vararg routines. Thus
|
||||||
this is the main print working routine.
|
this is the main print working routine.
|
||||||
|
|
||||||
@param Buffer Character buffer to print the results of the parsing
|
@param Buffer Character buffer to print the results of the parsing
|
||||||
of Format into.
|
of Format into.
|
||||||
@param BufferSize Maximum number of characters to put into buffer.
|
@param BufferSize Maximum number of characters to put into buffer.
|
||||||
@param Flags Intial flags value.
|
@param Flags Initial flags value.
|
||||||
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set.
|
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set.
|
||||||
@param Format Null-terminated format string.
|
@param Format Null-terminated format string.
|
||||||
@param Marker Vararg list consumed by processing Format.
|
@param Marker Vararg list consumed by processing Format.
|
||||||
|
@ -84,14 +84,14 @@ BasePrintLibVSPrint (
|
||||||
based on a Null-terminated format string and variable argument list.
|
based on a Null-terminated format string and variable argument list.
|
||||||
|
|
||||||
VSPrint function to process format and place the results in Buffer. Since a
|
VSPrint function to process format and place the results in Buffer. Since a
|
||||||
VA_LIST is used this rountine allows the nesting of Vararg routines. Thus
|
VA_LIST is used this routine allows the nesting of Vararg routines. Thus
|
||||||
this is the main print working routine
|
this is the main print working routine
|
||||||
|
|
||||||
@param StartOfBuffer Character buffer to print the results of the parsing
|
@param StartOfBuffer Character buffer to print the results of the parsing
|
||||||
of Format into.
|
of Format into.
|
||||||
@param BufferSize Maximum number of characters to put into buffer.
|
@param BufferSize Maximum number of characters to put into buffer.
|
||||||
Zero means no limit.
|
Zero means no limit.
|
||||||
@param Flags Intial flags value.
|
@param Flags Initial flags value.
|
||||||
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set
|
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set
|
||||||
@param FormatString Null-terminated format string.
|
@param FormatString Null-terminated format string.
|
||||||
@param ... The variable argument list.
|
@param ... The variable argument list.
|
||||||
|
@ -134,18 +134,18 @@ BasePrintLibFillBuffer (
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Internal function that convert a decimal number to a string in Buffer.
|
Internal function that convert a number to a string in Buffer.
|
||||||
|
|
||||||
Print worker function that convert a decimal number to a string in Buffer.
|
Print worker function that converts a decimal or hexadecimal number to an ASCII string in Buffer.
|
||||||
|
|
||||||
@param Buffer Location to place the Unicode or ASCII string of Value.
|
@param Buffer Location to place the ASCII string of Value.
|
||||||
@param Value Value to convert to a Decimal or Hexadecimal string in Buffer.
|
@param Value Value to convert to a Decimal or Hexadecimal string in Buffer.
|
||||||
@param Radix Radix of the value
|
@param Radix Radix of the value
|
||||||
|
|
||||||
@return Number of characters printed.
|
@return A pointer to the end of buffer filled with ASCII string.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
UINTN
|
CHAR8 *
|
||||||
BasePrintLibValueToString (
|
BasePrintLibValueToString (
|
||||||
IN OUT CHAR8 *Buffer,
|
IN OUT CHAR8 *Buffer,
|
||||||
IN INT64 Value,
|
IN INT64 Value,
|
||||||
|
|
Loading…
Reference in New Issue