]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
ShellPkg/UefiShellAcpiViewCommandLib: Fix VS2017 compilation errors
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel1CommandsLib / For.c
index cbf05170135df46955a0fd42b96de5833441b545..8da07825f6e42bcb408c3aafbd53d610a899f700 100644 (file)
@@ -2,7 +2,7 @@
   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
+  Copyright (c) 2009 - 2018, 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
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -25,7 +25,6 @@
   @retval FALSE   The number is not valid.\r
 **/\r
 BOOLEAN\r
-EFIAPI\r
 ShellIsValidForNumber (\r
   IN CONST CHAR16 *Number\r
   )\r
@@ -90,13 +89,13 @@ ShellCommandRunEndFor (
   if (!Found) {\r
     CurrentScriptFile = ShellCommandGetCurrentScriptFile();\r
     ShellPrintHiiEx(\r
-      -1, \r
-      -1, \r
-      NULL, \r
-      STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
-      gShellLevel1HiiHandle, \r
-      L"For", \r
-      L"EndFor", \r
+      -1,\r
+      -1,\r
+      NULL,\r
+      STRING_TOKEN (STR_SYNTAX_NO_MATCHING),\r
+      gShellLevel1HiiHandle,\r
+      L"For",\r
+      L"EndFor",\r
       CurrentScriptFile!=NULL\r
         && CurrentScriptFile->CurrentCommand!=NULL\r
           ? CurrentScriptFile->CurrentCommand->Line:0);\r
@@ -129,7 +128,6 @@ typedef struct {
   @retval EFI_OUT_OF_RESOURCES  There was not enough free memory.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 InternalUpdateAliasOnList(\r
   IN CONST CHAR16       *Alias,\r
   IN CONST CHAR16       *CommandString,\r
@@ -185,7 +183,6 @@ InternalUpdateAliasOnList(
   @retval FALSE                 The alias is not on the list.\r
 **/\r
 BOOLEAN\r
-EFIAPI\r
 InternalIsAliasOnList(\r
   IN CONST CHAR16       *Alias,\r
   IN CONST LIST_ENTRY   *List\r
@@ -221,7 +218,6 @@ InternalIsAliasOnList(
   @param[in, out] List           The list to search.\r
 **/\r
 BOOLEAN\r
-EFIAPI\r
 InternalRemoveAliasFromList(\r
   IN CONST CHAR16       *Alias,\r
   IN OUT LIST_ENTRY     *List\r
@@ -264,7 +260,6 @@ InternalRemoveAliasFromList(
   @retval (UINTN)(-1) An error ocurred.\r
 **/\r
 UINTN\r
-EFIAPI\r
 ReturnUintn(\r
   IN CONST CHAR16 *String\r
   )\r
@@ -344,13 +339,13 @@ ShellCommandRunFor (
     //\r
     if (!MoveToTag(GetNextNode, L"endfor", L"for", NULL, CurrentScriptFile, TRUE, TRUE, FALSE)) {\r
       ShellPrintHiiEx(\r
-        -1, \r
-        -1, \r
-        NULL, \r
-        STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
-        gShellLevel1HiiHandle, \r
-        L"EndFor", \r
-        L"For", \r
+        -1,\r
+        -1,\r
+        NULL,\r
+        STRING_TOKEN (STR_SYNTAX_NO_MATCHING),\r
+        gShellLevel1HiiHandle,\r
+        L"EndFor",\r
+        L"For",\r
         CurrentScriptFile->CurrentCommand->Line);\r
       return (SHELL_DEVICE_ERROR);\r
     }\r
@@ -414,7 +409,10 @@ ShellCommandRunFor (
         NewSize = StrSize(ArgSet);\r
         NewSize += sizeof(SHELL_FOR_INFO)+StrSize(gEfiShellParametersProtocol->Argv[1]);\r
         Info = AllocateZeroPool(NewSize);\r
-        ASSERT(Info != NULL);\r
+        if (Info == NULL) {\r
+          FreePool (ArgSet);\r
+          return SHELL_OUT_OF_RESOURCES;\r
+        }\r
         Info->Signature = SHELL_FOR_INFO_SIGNATURE;\r
         CopyMem(Info->Set, ArgSet, StrSize(ArgSet));\r
         NewSize = StrSize(gEfiShellParametersProtocol->Argv[1]);\r
@@ -458,7 +456,10 @@ ShellCommandRunFor (
         // set up for a 'run' for loop\r
         //\r
         Info = AllocateZeroPool(sizeof(SHELL_FOR_INFO)+StrSize(gEfiShellParametersProtocol->Argv[1]));\r
-        ASSERT(Info != NULL);\r
+        if (Info == NULL) {\r
+          FreePool (ArgSet);\r
+          return SHELL_OUT_OF_RESOURCES;\r
+        }\r
         Info->Signature = SHELL_FOR_INFO_SIGNATURE;\r
         CopyMem(Info->Set, gEfiShellParametersProtocol->Argv[1], StrSize(gEfiShellParametersProtocol->Argv[1]));\r
         Info->ReplacementName = Info->Set;\r
@@ -466,12 +467,12 @@ ShellCommandRunFor (
         ArgSetWalker            = ArgSet;\r
         if (ArgSetWalker[0] != L'(') {\r
           ShellPrintHiiEx(\r
-            -1, \r
-            -1, \r
-            NULL, \r
-            STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-            gShellLevel1HiiHandle, \r
-            ArgSet, \r
+            -1,\r
+            -1,\r
+            NULL,\r
+            STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+            gShellLevel1HiiHandle,\r
+            ArgSet,\r
             CurrentScriptFile->CurrentCommand->Line);\r
           ShellStatus = SHELL_INVALID_PARAMETER;\r
         } else {\r
@@ -489,11 +490,11 @@ ShellCommandRunFor (
           }\r
           if (TempSpot == NULL) {\r
             ShellPrintHiiEx(\r
-              -1, \r
-              -1, \r
-              NULL, \r
-              STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-              gShellLevel1HiiHandle, \r
+              -1,\r
+              -1,\r
+              NULL,\r
+              STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+              gShellLevel1HiiHandle,\r
               CurrentScriptFile->CurrentCommand->Line);\r
             ShellStatus = SHELL_INVALID_PARAMETER;\r
           } else {\r
@@ -504,12 +505,12 @@ ShellCommandRunFor (
             }\r
             if (!ShellIsValidForNumber(ArgSetWalker)) {\r
               ShellPrintHiiEx(\r
-                -1, \r
-                -1, \r
-                NULL, \r
-                STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-                gShellLevel1HiiHandle, \r
-                ArgSet, \r
+                -1,\r
+                -1,\r
+                NULL,\r
+                STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+                gShellLevel1HiiHandle,\r
+                ArgSet,\r
                 CurrentScriptFile->CurrentCommand->Line);\r
               ShellStatus = SHELL_INVALID_PARAMETER;\r
             } else {\r
@@ -524,12 +525,12 @@ ShellCommandRunFor (
               }\r
               if (ArgSetWalker == NULL || *ArgSetWalker == CHAR_NULL || !ShellIsValidForNumber(ArgSetWalker)){\r
                 ShellPrintHiiEx(\r
-                  -1, \r
-                  -1, \r
-                  NULL, \r
-                  STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-                  gShellLevel1HiiHandle, \r
-                  ArgSet, \r
+                  -1,\r
+                  -1,\r
+                  NULL,\r
+                  STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+                  gShellLevel1HiiHandle,\r
+                  ArgSet,\r
                   CurrentScriptFile->CurrentCommand->Line);\r
                 ShellStatus = SHELL_INVALID_PARAMETER;\r
               } else {\r
@@ -551,12 +552,12 @@ ShellCommandRunFor (
                 if (ArgSetWalker != NULL && *ArgSetWalker != CHAR_NULL) {\r
                   if (ArgSetWalker == NULL || *ArgSetWalker == CHAR_NULL || !ShellIsValidForNumber(ArgSetWalker)){\r
                     ShellPrintHiiEx(\r
-                      -1, \r
-                      -1, \r
-                      NULL, \r
-                      STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-                      gShellLevel1HiiHandle, \r
-                      ArgSet, \r
+                      -1,\r
+                      -1,\r
+                      NULL,\r
+                      STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+                      gShellLevel1HiiHandle,\r
+                      ArgSet,\r
                       CurrentScriptFile->CurrentCommand->Line);\r
                     ShellStatus = SHELL_INVALID_PARAMETER;\r
                   } else {\r
@@ -571,18 +572,18 @@ ShellCommandRunFor (
 \r
                       if (StrStr(ArgSetWalker, L" ") != NULL) {\r
                         ShellPrintHiiEx(\r
-                          -1, \r
-                          -1, \r
-                          NULL, \r
-                          STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-                          gShellLevel1HiiHandle, \r
-                          ArgSet, \r
+                          -1,\r
+                          -1,\r
+                          NULL,\r
+                          STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+                          gShellLevel1HiiHandle,\r
+                          ArgSet,\r
                           CurrentScriptFile->CurrentCommand->Line);\r
                         ShellStatus = SHELL_INVALID_PARAMETER;\r
                       }\r
                     }\r
                   }\r
-                  \r
+\r
                 }\r
               }\r
             }\r
@@ -601,13 +602,13 @@ ShellCommandRunFor (
       }\r
     } else {\r
       ShellPrintHiiEx(\r
-        -1, \r
-        -1, \r
-        NULL, \r
-        STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT), \r
-        gShellLevel1HiiHandle, \r
-        ArgSet, \r
-        CurrentScriptFile!=NULL \r
+        -1,\r
+        -1,\r
+        NULL,\r
+        STRING_TOKEN (STR_GEN_PROBLEM_SCRIPT),\r
+        gShellLevel1HiiHandle,\r
+        ArgSet,\r
+        CurrentScriptFile!=NULL\r
           && CurrentScriptFile->CurrentCommand!=NULL\r
           ? CurrentScriptFile->CurrentCommand->Line:0);\r
       ShellStatus = SHELL_INVALID_PARAMETER;\r
@@ -623,7 +624,9 @@ ShellCommandRunFor (
   if (CurrentScriptFile != NULL && CurrentScriptFile->CurrentCommand != NULL) {\r
     Info = (SHELL_FOR_INFO*)CurrentScriptFile->CurrentCommand->Data;\r
     if (CurrentScriptFile->CurrentCommand->Reset) {\r
-      Info->CurrentValue  = (CHAR16*)Info->Set;\r
+      if (Info != NULL) {\r
+        Info->CurrentValue = (CHAR16*)Info->Set;\r
+      }\r
       FirstPass = TRUE;\r
       CurrentScriptFile->CurrentCommand->Reset = FALSE;\r
     }\r
@@ -656,14 +659,14 @@ ShellCommandRunFor (
         //\r
         if (!MoveToTag(GetNextNode, L"endfor", L"for", NULL, CurrentScriptFile, TRUE, FALSE, FALSE)) {\r
           ShellPrintHiiEx(\r
-            -1, \r
-            -1, \r
-            NULL, \r
-            STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
-            gShellLevel1HiiHandle, \r
-            L"EndFor", \r
-            L"For", \r
-            CurrentScriptFile!=NULL \r
+            -1,\r
+            -1,\r
+            NULL,\r
+            STRING_TOKEN (STR_SYNTAX_NO_MATCHING),\r
+            gShellLevel1HiiHandle,\r
+            L"EndFor",\r
+            L"For",\r
+            CurrentScriptFile!=NULL\r
               && CurrentScriptFile->CurrentCommand!=NULL\r
               ? CurrentScriptFile->CurrentCommand->Line:0);\r
           ShellStatus = SHELL_DEVICE_ERROR;\r
@@ -718,14 +721,14 @@ ShellCommandRunFor (
         //\r
         if (!MoveToTag(GetNextNode, L"endfor", L"for", NULL, CurrentScriptFile, TRUE, FALSE, FALSE)) {\r
           ShellPrintHiiEx(\r
-            -1, \r
-            -1, \r
-            NULL, \r
-            STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
-            gShellLevel1HiiHandle, \r
-            L"EndFor", \r
-            L"For", \r
-            CurrentScriptFile!=NULL \r
+            -1,\r
+            -1,\r
+            NULL,\r
+            STRING_TOKEN (STR_SYNTAX_NO_MATCHING),\r
+            gShellLevel1HiiHandle,\r
+            L"EndFor",\r
+            L"For",\r
+            CurrentScriptFile!=NULL\r
               && CurrentScriptFile->CurrentCommand!=NULL\r
               ? CurrentScriptFile->CurrentCommand->Line:0);\r
           ShellStatus = SHELL_DEVICE_ERROR;\r