summaryrefslogtreecommitdiff
path: root/ShellPkg/Application/Shell/ShellProtocol.h
diff options
context:
space:
mode:
authorOlivier Martin <olivier.martin@arm.com>2014-05-13 21:16:42 +0000
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>2014-05-13 21:16:42 +0000
commitcd39fe082c886243b934b1ff4170ab32bbd0db2c (patch)
tree95ad28d768b1c71ac6460019d2075ce10efdf305 /ShellPkg/Application/Shell/ShellProtocol.h
parent93e8d03cd178cde473672a29b4f0d7ff4d2ffdbc (diff)
downloadedk2-platforms-cd39fe082c886243b934b1ff4170ab32bbd0db2c.tar.xz
ShellPkg: Do not mix status when executing a command
The function InternalShellExecuteDevicePath() did not differentiate an error occuring during the preparation of an image and an error occurring during its execution. A use case of the issue was when a EFI application was called in a EFI Shell script. If the EFI application was returning an error then the NSH script stopped its execution. While the EFI Shell specification says the script should continue its execution (see 4.2 Error Handling). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15523 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg/Application/Shell/ShellProtocol.h')
-rw-r--r--ShellPkg/Application/Shell/ShellProtocol.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/ShellPkg/Application/Shell/ShellProtocol.h b/ShellPkg/Application/Shell/ShellProtocol.h
index ff123277c2..7cc1b01947 100644
--- a/ShellPkg/Application/Shell/ShellProtocol.h
+++ b/ShellPkg/Application/Shell/ShellProtocol.h
@@ -455,10 +455,11 @@ EfiShellEnablePageBreak (
EFI_STATUS
EFIAPI
InternalShellExecuteDevicePath(
- IN CONST EFI_HANDLE *ParentImageHandle,
+ IN CONST EFI_HANDLE *ParentImageHandle,
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
- IN CONST CHAR16 *CommandLine OPTIONAL,
- IN CONST CHAR16 **Environment OPTIONAL,
+ IN CONST CHAR16 *CommandLine OPTIONAL,
+ IN CONST CHAR16 **Environment OPTIONAL,
+ OUT EFI_STATUS *StartImageStatus OPTIONAL,
OUT UINTN *ExitDataSize OPTIONAL,
OUT CHAR16 **ExitData OPTIONAL
);