summaryrefslogtreecommitdiff
path: root/ShellPkg
diff options
context:
space:
mode:
authorPedroa Liu <pedroa.liu@insyde.com>2016-05-16 20:48:41 +0800
committerHao Wu <hao.a.wu@intel.com>2016-07-13 20:43:27 +0800
commite6bf3417c509c202a44ba1c2a061f08d514aaad8 (patch)
tree494363cb2d342c7b61105810d655429a1b5284cf /ShellPkg
parent443dc16b14aa01951a8067dad7a045317996e2a9 (diff)
downloadedk2-platforms-e6bf3417c509c202a44ba1c2a061f08d514aaad8.tar.xz
ShellPkg: Fix the incorrect behavior when pressing 'shift' key.
If 'ReadKeyStroke' function return EFI_NOT_READY then skip it. If the return value is EFI_DEVICE_ERROR clean the currentString buffer. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Pedroa Liu <pedroa.liu@insyde.com> Reviewed-by: Qiu Shumin <shumin.qiu@intel.com> (cherry picked from commit b8f3601daae5c8b50ca6f7da74bb150f2eef9453)
Diffstat (limited to 'ShellPkg')
-rw-r--r--ShellPkg/Application/Shell/FileHandleWrappers.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ShellPkg/Application/Shell/FileHandleWrappers.c b/ShellPkg/Application/Shell/FileHandleWrappers.c
index 0e5efe3025..f64915d9ed 100644
--- a/ShellPkg/Application/Shell/FileHandleWrappers.c
+++ b/ShellPkg/Application/Shell/FileHandleWrappers.c
@@ -422,6 +422,12 @@ FileInterfaceStdInRead(
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
if (EFI_ERROR (Status)) {
+
+ if (Status == EFI_NOT_READY)
+ continue;
+
+ ZeroMem (CurrentString, MaxStr * sizeof(CHAR16));
+ StringLen = 0;
break;
}