]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg: patch to the "for" command when used with "in" iterating files in a folder...
authorLeandro G. Biss Becker <lbecker@positivo.com.br>
Wed, 5 Feb 2014 21:16:47 +0000 (21:16 +0000)
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 5 Feb 2014 21:16:47 +0000 (21:16 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leandro G. Biss Becker <lbecker@positivo.com.br>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15212 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Library/UefiShellLevel1CommandsLib/For.c

index 46182f714176a9f2bea7690735a67aa07cb93b37..85b85d8dcfa7bcb48a49969296c2c867d6acf86e 100644 (file)
@@ -370,7 +370,6 @@ ShellCommandRunFor (
         gEfiShellParametersProtocol->Argv[2]) == 0) {\r
       for (LoopVar = 0x3 ; LoopVar < gEfiShellParametersProtocol->Argc ; LoopVar++) {\r
         ASSERT((ArgSet == NULL && ArgSize == 0) || (ArgSet != NULL));\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
@@ -378,7 +377,9 @@ ShellCommandRunFor (
           FileList = NULL;\r
           Status = ShellOpenFileMetaArg ((CHAR16*)gEfiShellParametersProtocol->Argv[LoopVar], EFI_FILE_MODE_READ, &FileList);\r
           if (EFI_ERROR(Status) || FileList == NULL || IsListEmpty(&FileList->Link)) {\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);\r
             ArgSet = StrnCatGrow(&ArgSet, &ArgSize, gEfiShellParametersProtocol->Argv[LoopVar], 0);\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);\r
           } else {\r
             for (Node = (EFI_SHELL_FILE_INFO *)GetFirstNode(&FileList->Link)\r
               ;  !IsNull(&FileList->Link, &Node->Link)\r
@@ -391,9 +392,10 @@ ShellCommandRunFor (
             ShellCloseFileMetaArg(&FileList);\r
           }\r
         } else {\r
+          ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);\r
           ArgSet = StrnCatGrow(&ArgSet, &ArgSize, gEfiShellParametersProtocol->Argv[LoopVar], 0);\r
+          ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);\r
         }\r
-        ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);\r
       }\r
       if (ArgSet == NULL) {\r
         ShellStatus = SHELL_OUT_OF_RESOURCES;\r