diff options
author | Qiu Shumin <shumin.qiu@intel.com> | 2015-09-10 05:25:06 +0000 |
---|---|---|
committer | hwu1225 <hwu1225@Edk2> | 2015-09-10 05:25:06 +0000 |
commit | c554140290c61d7f9af7e563815dd15e31aa5c52 (patch) | |
tree | afc8f297b594ccc8120079978d8a943bcc5ee9bd | |
parent | 6c6967d4a6073313fe7b53b881eaba6014c7f72b (diff) | |
download | edk2-platforms-c554140290c61d7f9af7e563815dd15e31aa5c52.tar.xz |
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 <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@18433 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | ShellPkg/Application/Shell/Shell.h | 11 | ||||
-rw-r--r-- | ShellPkg/Application/Shell/ShellParametersProtocol.c | 1 |
2 files changed, 12 insertions, 0 deletions
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);
|