From c554140290c61d7f9af7e563815dd15e31aa5c52 Mon Sep 17 00:00:00 2001 From: Qiu Shumin Date: Thu, 10 Sep 2015 05:25:06 +0000 Subject: ShellPkg: Fix Shell fail with redundant space following delay number. When boot from Shell we can use '-delay [num]' as optional data. If blank space exist after '[num]' Shell will fail. This patch add error handling to avoid this failure. (Sync patch r18431 from main trunk.) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18433 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Application/Shell/Shell.h | 11 +++++++++++ ShellPkg/Application/Shell/ShellParametersProtocol.c | 1 + 2 files changed, 12 insertions(+) diff --git a/ShellPkg/Application/Shell/Shell.h b/ShellPkg/Application/Shell/Shell.h index 4d804fc45b..b6686256aa 100644 --- a/ShellPkg/Application/Shell/Shell.h +++ b/ShellPkg/Application/Shell/Shell.h @@ -360,5 +360,16 @@ FindFirstCharacter( IN CONST CHAR16 EscapeCharacter ); +/** + Cleans off leading and trailing spaces and tabs. + + @param[in] String pointer to the string to trim them off. +**/ +EFI_STATUS +EFIAPI +TrimSpaces( + IN CHAR16 **String + ); + #endif //_SHELL_INTERNAL_HEADER_ diff --git a/ShellPkg/Application/Shell/ShellParametersProtocol.c b/ShellPkg/Application/Shell/ShellParametersProtocol.c index 1c1367bdf8..bc19df7e93 100644 --- a/ShellPkg/Application/Shell/ShellParametersProtocol.c +++ b/ShellPkg/Application/Shell/ShellParametersProtocol.c @@ -359,6 +359,7 @@ CreatePopulateInstallShellParametersProtocol ( // // Populate Argc and Argv // + TrimSpaces (&FullCommandLine); Status = ParseCommandLineToArgs(FullCommandLine, &(*NewShellParameters)->Argv, &(*NewShellParameters)->Argc); -- cgit v1.2.3