Revision: 16121
          http://sourceforge.net/p/edk2/code/16121
Author:   shenshushi
Date:     2014-09-17 07:52:35 +0000 (Wed, 17 Sep 2014)
Log Message:
-----------
ShellPkg: Remove redundant quotes for command 'FOR' in Shell.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <[email protected]>
Reviewed-by: Jaben Carsey <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c

Modified: trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
===================================================================
--- trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c        
2014-09-17 07:48:27 UTC (rev 16120)
+++ trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c        
2014-09-17 07:52:35 UTC (rev 16121)
@@ -294,6 +294,7 @@
   SCRIPT_FILE         *CurrentScriptFile;
   CHAR16              *ArgSet;
   CHAR16              *ArgSetWalker;
+  CHAR16              *Parameter;
   UINTN               ArgSize;
   UINTN               LoopVar;
   SHELL_FOR_INFO      *Info;
@@ -309,6 +310,7 @@
   ShellStatus         = SHELL_SUCCESS;
   ArgSetWalker        = NULL;
   TempString          = NULL;
+  Parameter           = NULL;
   FirstPass           = FALSE;
 
   //
@@ -391,9 +393,15 @@
             ShellCloseFileMetaArg(&FileList);
           }
         } else {
-          ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);
-          ArgSet = StrnCatGrow(&ArgSet, &ArgSize, 
gEfiShellParametersProtocol->Argv[LoopVar], 0);
-          ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);
+          Parameter = gEfiShellParametersProtocol->Argv[LoopVar];
+          if (Parameter[0] == L'\"' && Parameter[StrLen(Parameter)-1] == 
L'\"') {
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" ", 0);
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, Parameter, 0);
+          } else {
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L" \"", 0);
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, Parameter, 0);
+            ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);
+          }
         }
       }
       if (ArgSet == NULL) {
@@ -695,12 +703,6 @@
           if (Info->CurrentValue[0] == L'\"') {
             Info->CurrentValue++;
           }
-          while (Info->CurrentValue[0] == L' ') {
-            Info->CurrentValue++;
-          }
-          if (Info->CurrentValue[0] == L'\"') {
-            Info->CurrentValue++;
-          }
           FreePool(TempString);
         }
       } else {


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to