diff options
author | Vladimir Olovyannikov via edk2-devel <edk2-devel@lists.01.org> | 2019-01-23 10:26:15 -0800 |
---|---|---|
committer | Jaben Carsey <jaben.carsey@intel.com> | 2019-01-25 08:06:34 -0800 |
commit | 83463154afc699c8116a42df9184b034056c7b33 (patch) | |
tree | 9c5acf16ca17d5ee7207ac88696ae9a5e3fcf640 /ShellPkg/DynamicCommand | |
parent | 9084239f3440369fcb5ff0476d9bdd9442a03258 (diff) | |
download | edk2-83463154afc699c8116a42df9184b034056c7b33.tar.gz edk2-83463154afc699c8116a42df9184b034056c7b33.tar.bz2 edk2-83463154afc699c8116a42df9184b034056c7b33.zip |
ShellPkg/TftpDynamicCommand: Return proper status
Tftp command always returned "SHELL_NOT_FOUND" which is treated as an
error by callers. Add missing line to clean the ShellStatus on
successful operation. If operation has failed, return the error status
if available.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1487
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
Reviewed-by: Songpeng Li <songpeng.li@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Diffstat (limited to 'ShellPkg/DynamicCommand')
-rw-r--r-- | ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c index ba753a279b..88e3988a55 100644 --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c @@ -548,6 +548,8 @@ RunTftp ( goto NextHandle;
}
+ ShellStatus = SHELL_SUCCESS;
+
NextHandle:
CloseProtocolAndDestroyServiceChild (
@@ -575,6 +577,10 @@ RunTftp ( FreePool (Handles);
}
+ if ((ShellStatus != SHELL_SUCCESS) && (EFI_ERROR(Status))) {
+ ShellStatus = Status & ~MAX_BIT;
+ }
+
return ShellStatus;
}
|