AsciiSPrint returns The number of ASCII characters in the produced output buffer not including the Null-terminator, but SerialStatusCodeWorker has bug which overwrites the last character, which causes there is a missing character in serial log output. The fix is to resolve this issue.

Signed-off-by: li-elvin
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12526 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
li-elvin 2011-10-11 03:45:24 +00:00
parent 79b74a03e0
commit 30d636c8d9
3 changed files with 12 additions and 12 deletions

View File

@ -1,7 +1,7 @@
/** @file
Serial I/O status code reporting worker.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -99,7 +99,7 @@ SerialStatusCodeReportWorker (
if (CallerId != NULL) {
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
" %g",
CallerId
@ -108,7 +108,7 @@ SerialStatusCodeReportWorker (
if (Data != NULL) {
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
" %x",
Data
@ -116,7 +116,7 @@ SerialStatusCodeReportWorker (
}
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
"\n\r"
);

View File

@ -1,7 +1,7 @@
/** @file
Serial I/O status code reporting worker.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -94,7 +94,7 @@ SerialStatusCodeReportWorker (
if (CallerId != NULL) {
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
" %g",
CallerId
@ -103,7 +103,7 @@ SerialStatusCodeReportWorker (
if (Data != NULL) {
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
" %x",
Data
@ -111,7 +111,7 @@ SerialStatusCodeReportWorker (
}
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
"\n\r"
);

View File

@ -1,7 +1,7 @@
/** @file
Serial I/O status code reporting worker.
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
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
@ -94,7 +94,7 @@ SerialStatusCodeReportWorker (
if (CallerId != NULL) {
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
" %g",
CallerId
@ -103,7 +103,7 @@ SerialStatusCodeReportWorker (
if (Data != NULL) {
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
" %x",
Data
@ -111,7 +111,7 @@ SerialStatusCodeReportWorker (
}
CharCount += AsciiSPrint (
&Buffer[CharCount - 1],
&Buffer[CharCount],
(sizeof (Buffer) - (sizeof (Buffer[0]) * CharCount)),
"\n\r"
);