From ef865a091f003333b44b8b059ce39524551f5dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Fran=C4=8De=C5=A1kin?= Date: Tue, 17 Sep 2019 15:21:18 +0200 Subject: [PATCH] Added FileNotFound error code according to new Mavlink FTP specification --- src/modules/mavlink/mavlink_ftp.cpp | 6 +++--- src/modules/mavlink/mavlink_ftp.h | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp index ca421871be..e109c7e68c 100644 --- a/src/modules/mavlink/mavlink_ftp.cpp +++ b/src/modules/mavlink/mavlink_ftp.cpp @@ -269,6 +269,8 @@ out: if (r_errno == EEXIST) { errorCode = kErrFailFileExists; + } else if (r_errno == ENOENT) { + errorCode = kErrFileNotFound; } payload->data[0] = errorCode; @@ -350,9 +352,7 @@ MavlinkFTP::_workList(PayloadHeader *payload, bool list_hidden) if (dp == nullptr) { PX4_WARN("File open failed %s", _work_buffer1); - // this is not an FTP error, abort directory by setting errno to ENOENT "No such file or directory" - errno = ENOENT; - return kErrFailErrno; + return kErrFileNotFound; } #ifdef MAVLINK_FTP_DEBUG diff --git a/src/modules/mavlink/mavlink_ftp.h b/src/modules/mavlink/mavlink_ftp.h index 4d3622bd54..96f6dc6d0e 100644 --- a/src/modules/mavlink/mavlink_ftp.h +++ b/src/modules/mavlink/mavlink_ftp.h @@ -119,8 +119,9 @@ public: kErrNoSessionsAvailable, ///< All available Sessions in use kErrEOF, ///< Offset past end of file for List and Read commands kErrUnknownCommand, ///< Unknown command opcode - kErrFailFileExists, ///< File exists already - kErrFailFileProtected ///< File is write protected + kErrFailFileExists, ///< File/directory exists already + kErrFailFileProtected, ///< File/directory is write protected + kErrFileNotFound ///< File/directory not found }; unsigned get_size();