mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-22 22:13:34 +08:00
MAVLink FTP: Do not list hidden directories by default
This commit is contained in:
@@ -299,7 +299,7 @@ MavlinkFTP::_reply(mavlink_file_transfer_protocol_t* ftp_req)
|
|||||||
|
|
||||||
/// @brief Responds to a List command
|
/// @brief Responds to a List command
|
||||||
MavlinkFTP::ErrorCode
|
MavlinkFTP::ErrorCode
|
||||||
MavlinkFTP::_workList(PayloadHeader* payload)
|
MavlinkFTP::_workList(PayloadHeader* payload, bool list_hidden)
|
||||||
{
|
{
|
||||||
char dirPath[kMaxDataLength];
|
char dirPath[kMaxDataLength];
|
||||||
strncpy(dirPath, _data_as_cstring(payload), kMaxDataLength);
|
strncpy(dirPath, _data_as_cstring(payload), kMaxDataLength);
|
||||||
@@ -375,7 +375,8 @@ MavlinkFTP::_workList(PayloadHeader* payload)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DTYPE_DIRECTORY:
|
case DTYPE_DIRECTORY:
|
||||||
if (strcmp(entry.d_name, ".") == 0 || strcmp(entry.d_name, "..") == 0) {
|
if ((!list_hidden && (strncmp(entry.d_name, ".", 1) == 0)) ||
|
||||||
|
strcmp(entry.d_name, ".") == 0 || strcmp(entry.d_name, "..") == 0) {
|
||||||
// Don't bother sending these back
|
// Don't bother sending these back
|
||||||
direntType = kDirentSkip;
|
direntType = kDirentSkip;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ private:
|
|||||||
void _reply(mavlink_file_transfer_protocol_t* ftp_req);
|
void _reply(mavlink_file_transfer_protocol_t* ftp_req);
|
||||||
int _copy_file(const char *src_path, const char *dst_path, size_t length);
|
int _copy_file(const char *src_path, const char *dst_path, size_t length);
|
||||||
|
|
||||||
ErrorCode _workList(PayloadHeader *payload);
|
ErrorCode _workList(PayloadHeader *payload, bool list_hidden = false);
|
||||||
ErrorCode _workOpen(PayloadHeader *payload, int oflag);
|
ErrorCode _workOpen(PayloadHeader *payload, int oflag);
|
||||||
ErrorCode _workRead(PayloadHeader *payload);
|
ErrorCode _workRead(PayloadHeader *payload);
|
||||||
ErrorCode _workBurst(PayloadHeader* payload, uint8_t target_system_id);
|
ErrorCode _workBurst(PayloadHeader* payload, uint8_t target_system_id);
|
||||||
|
|||||||
Reference in New Issue
Block a user