]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add initializing code for local variable 'CalleeExitStatus' and 'ExitStatus' in ...
authorShumin Qiu <shumin.qiu@intel.com>
Tue, 28 Jan 2014 00:59:46 +0000 (00:59 +0000)
committershenshushi <shenshushi@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 28 Jan 2014 00:59:46 +0000 (00:59 +0000)
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15191 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Application/Shell/Shell.c

index dc99c5c974a61323289d4e08a1efb67159e684ef..18055d5a85adb57f0cd9ca31c5f925abe70ca9e3 100644 (file)
@@ -300,6 +300,12 @@ UefiMain (
   // install our console logger.  This will keep a log of the output for back-browsing\r
   //\r
   Status = ConsoleLoggerInstall(ShellInfoObject.LogScreenCount, &ShellInfoObject.ConsoleInfo);\r
+  if(EFI_ERROR (Status)) {\r
+    ExitStatus = (SHELL_STATUS) (Status & (~MAX_BIT));\r
+  } else {\r
+    ExitStatus = SHELL_SUCCESS;\r
+  }\r
+       \r
   if (!EFI_ERROR(Status)) {\r
     //\r
     // Enable the cursor to be visible\r
@@ -2074,6 +2080,7 @@ RunCommandOrFile(
   Status            = EFI_SUCCESS;\r
   CommandWithPath   = NULL;\r
   DevPath           = NULL;\r
+  CalleeExitStatus  = SHELL_INVALID_PARAMETER;\r
 \r
   switch (Type) {\r
     case   Internal_Command:\r
@@ -2149,11 +2156,17 @@ RunCommandOrFile(
 \r
           SHELL_FREE_NON_NULL(DevPath);\r
 \r
+          if(EFI_ERROR (Status)) {\r
+            CalleeExitStatus = (SHELL_STATUS) (Status & (~MAX_BIT));\r
+          } else {\r
+            CalleeExitStatus = SHELL_SUCCESS;\r
+          }\r
+\r
           //\r
           // Update last error status.\r
           //\r
           // Status is an EFI_STATUS. Clear top bit to convert to SHELL_STATUS\r
-          SetLastError((SHELL_STATUS) (Status & (~MAX_BIT)));\r
+          SetLastError(CalleeExitStatus);\r
           break;\r
         default:\r
           //\r