ShellPkg: Don't strip BOM when piping UCS2 data to a UEFI app

If the BOM is stripped from StdIn, then an app that duplicates StdIn
will not be able to duplicate, say, a UCS2 file that was piped into
it (the output file it creates would not start with a BOM).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jim Dailey <jim_dailey@dell.com>
Reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>
This commit is contained in:
Jim_Dailey@Dell.com 2016-03-01 13:02:19 -08:00 committed by Jaben Carsey
parent d777442bb4
commit 0b966ddd61
1 changed files with 6 additions and 11 deletions

View File

@ -1265,18 +1265,13 @@ UpdateStdInStdOutStdErr(
&TempHandle, &TempHandle,
EFI_FILE_MODE_READ, EFI_FILE_MODE_READ,
0); 0);
if (InUnicode) { if (!EFI_ERROR(Status)) {
// if (!InUnicode) {
// Chop off the 0xFEFF if it's there...
//
RemoveFileTag(&TempHandle);
} else if (!EFI_ERROR(Status)) {
// //
// Create the ASCII->Unicode conversion layer // Create the ASCII->Unicode conversion layer
// //
TempHandle = CreateFileInterfaceFile(TempHandle, FALSE); TempHandle = CreateFileInterfaceFile(TempHandle, FALSE);
} }
if (!EFI_ERROR(Status)) {
ShellParameters->StdIn = TempHandle; ShellParameters->StdIn = TempHandle;
gST->ConIn = CreateSimpleTextInOnFile(TempHandle, &gST->ConsoleInHandle); gST->ConIn = CreateSimpleTextInOnFile(TempHandle, &gST->ConsoleInHandle);
} }