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 <[email protected]> --- ShellPkg/Application/Shell/ShellParametersProtocol.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/ShellPkg/Application/Shell/ShellParametersProtocol.c b/ShellPkg/Application/Shell/ShellParametersProtocol.c index 56dd792..8ae0ea5 100644 --- a/ShellPkg/Application/Shell/ShellParametersProtocol.c +++ b/ShellPkg/Application/Shell/ShellParametersProtocol.c @@ -1265,18 +1265,13 @@ UpdateStdInStdOutStdErr( &TempHandle, EFI_FILE_MODE_READ, 0); - if (InUnicode) { - // - // Chop off the 0xFEFF if it's there... - // - RemoveFileTag(&TempHandle); - } else if (!EFI_ERROR(Status)) { - // - // Create the ASCII->Unicode conversion layer - // - TempHandle = CreateFileInterfaceFile(TempHandle, FALSE); - } if (!EFI_ERROR(Status)) { + if (!InUnicode) { + // + // Create the ASCII->Unicode conversion layer + // + TempHandle = CreateFileInterfaceFile(TempHandle, FALSE); + } ShellParameters->StdIn = TempHandle; gST->ConIn = CreateSimpleTextInOnFile(TempHandle, &gST->ConsoleInHandle); } -- 2.7.1.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

