]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
ShellPkg: Standardized HP Copyright Message String
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel1CommandsLib / For.c
index 4fdbdd051d4c48b439b1b74c4c8b8fe37c79d1cb..2ecc5cd9ef4860fb3a2901de2a4013a1bc13201b 100644 (file)
@@ -1,6 +1,7 @@
 /** @file\r
   Main file for endfor and for shell level 1 functions.\r
 \r
+  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
   Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -75,12 +76,12 @@ ShellCommandRunEndFor (
   ASSERT_EFI_ERROR(Status);\r
 \r
   if (!gEfiShellProtocol->BatchIsActive()) {\r
-    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_NO_SCRIPT), gShellLevel1HiiHandle, L"EndFor");\r
+    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_NO_SCRIPT), gShellLevel1HiiHandle, L"endfor");\r
     return (SHELL_UNSUPPORTED);\r
   }\r
 \r
   if (gEfiShellParametersProtocol->Argc > 1) {\r
-    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellLevel1HiiHandle);\r
+    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellLevel1HiiHandle, L"endfor");\r
     return (SHELL_INVALID_PARAMETER);\r
   }\r
 \r
@@ -294,6 +295,7 @@ ShellCommandRunFor (
   SCRIPT_FILE         *CurrentScriptFile;\r
   CHAR16              *ArgSet;\r
   CHAR16              *ArgSetWalker;\r
+  CHAR16              *Parameter;\r
   UINTN               ArgSize;\r
   UINTN               LoopVar;\r
   SHELL_FOR_INFO      *Info;\r
@@ -309,6 +311,7 @@ ShellCommandRunFor (
   ShellStatus         = SHELL_SUCCESS;\r
   ArgSetWalker        = NULL;\r
   TempString          = NULL;\r
+  Parameter           = NULL;\r
   FirstPass           = FALSE;\r
 \r
   //\r
@@ -321,12 +324,12 @@ ShellCommandRunFor (
   ASSERT_EFI_ERROR(Status);\r
 \r
   if (!gEfiShellProtocol->BatchIsActive()) {\r
-    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_NO_SCRIPT), gShellLevel1HiiHandle, L"For");\r
+    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_NO_SCRIPT), gShellLevel1HiiHandle, L"for");\r
     return (SHELL_UNSUPPORTED);\r
   }\r
 \r
   if (gEfiShellParametersProtocol->Argc < 4) {\r
-    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellLevel1HiiHandle);\r
+    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_FEW), gShellLevel1HiiHandle, L"for");\r
     return (SHELL_INVALID_PARAMETER);\r
   }\r
 \r
@@ -391,9 +394,15 @@ 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
+          Parameter = gEfiShellParametersProtocol->Argv[LoopVar];\r
+          if (Parameter[0] == L'\"' && Parameter[StrLen(Parameter)-1] == L'\"') {\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" ", 0);\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, Parameter, 0);\r
+          } else {\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, Parameter, 0);\r
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);\r
+          }\r
         }\r
       }\r
       if (ArgSet == NULL) {\r
@@ -692,12 +701,6 @@ ShellCommandRunFor (
           InternalUpdateAliasOnList(Info->ReplacementName, TempString, &CurrentScriptFile->SubstList);\r
           Info->CurrentValue += StrLen(TempString);\r
 \r
-          if (Info->CurrentValue[0] == L'\"') {\r
-            Info->CurrentValue++;\r
-          }\r
-          while (Info->CurrentValue[0] == L' ') {\r
-            Info->CurrentValue++;\r
-          }\r
           if (Info->CurrentValue[0] == L'\"') {\r
             Info->CurrentValue++;\r
           }\r