summaryrefslogtreecommitdiffstats
path: root/ShellPkg
diff options
context:
space:
mode:
authorJim_Dailey@Dell.com <Jim_Dailey@Dell.com>2016-03-01 13:02:19 -0800
committerJaben Carsey <jaben.carsey@intel.com>2016-03-01 13:37:19 -0800
commit0b966ddd61a90b3ba116c2eeaa93ee4247832a1a (patch)
treea6dcf0c1b20d03315d2175b8f1a95c68fcaccc72 /ShellPkg
parentd777442bb4f801e58da2bea4c43a8c29cef09057 (diff)
downloadedk2-0b966ddd61a90b3ba116c2eeaa93ee4247832a1a.tar.gz
edk2-0b966ddd61a90b3ba116c2eeaa93ee4247832a1a.tar.bz2
edk2-0b966ddd61a90b3ba116c2eeaa93ee4247832a1a.zip
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>
Diffstat (limited to 'ShellPkg')
-rw-r--r--ShellPkg/Application/Shell/ShellParametersProtocol.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/ShellPkg/Application/Shell/ShellParametersProtocol.c b/ShellPkg/Application/Shell/ShellParametersProtocol.c
index 56dd79214b..c638583a37 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);
}