ShellPkg: Fix "for" command statement initialization.
authorJaben Carsey <jaben.carsey@intel.com>
Tue, 17 Dec 2013 21:40:41 +0000 (21:40 +0000)
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 17 Dec 2013 21:40:41 +0000 (21:40 +0000)
The shell was failing to correctly parse up to the space only for “run (1 3)” and also losing the space for “in ” a b” c” for loop initialization.  This fixes for initialization to be correct.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14997 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Library/UefiShellLevel1CommandsLib/For.c

index f0c4a23..46182f7 100644 (file)
@@ -270,7 +270,7 @@ ReturnUintn(
 {\r
   UINT64        RetVal;\r
 \r
-  if (!EFI_ERROR(ShellConvertStringToUint64(String, &RetVal, FALSE, FALSE))) {\r
+  if (!EFI_ERROR(ShellConvertStringToUint64(String, &RetVal, FALSE, TRUE))) {\r
     return ((UINTN)RetVal);\r
   }\r
   return ((UINTN)(-1));\r
@@ -370,11 +370,7 @@ ShellCommandRunFor (
         gEfiShellParametersProtocol->Argv[2]) == 0) {\r
       for (LoopVar = 0x3 ; LoopVar < gEfiShellParametersProtocol->Argc ; LoopVar++) {\r
         ASSERT((ArgSet == NULL && ArgSize == 0) || (ArgSet != NULL));\r
-        if (ArgSet == NULL) {\r
-  //        ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);\r
-        } else {\r
-          ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);\r
-        }\r
+        ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);\r
         if (StrStr(gEfiShellParametersProtocol->Argv[LoopVar], L"*") != NULL\r
           ||StrStr(gEfiShellParametersProtocol->Argv[LoopVar], L"?") != NULL\r
           ||StrStr(gEfiShellParametersProtocol->Argv[LoopVar], L"[") != NULL\r