]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
ShellPkg: patch to the "for" command when used with "in" iterating files in a folder...
[mirror_edk2.git] / 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