aboutsummaryrefslogtreecommitdiff
path: root/src/modules/mavlink/mavlink_ftp.cpp
diff options
context:
space:
mode:
authorVladimir Ermakov <vooon341@gmail.com>2014-09-15 21:29:19 +0400
committerVladimir Ermakov <vooon341@gmail.com>2014-09-15 21:29:19 +0400
commit006717734c351926e8daced9805767970c5e65b7 (patch)
tree7cbcf95edc0a988f035d448e9d9787a2abf19404 /src/modules/mavlink/mavlink_ftp.cpp
parent21367222379d6ae3b1c5c774942ac2aac5ca32cb (diff)
downloadpx4-firmware-006717734c351926e8daced9805767970c5e65b7.tar.gz
px4-firmware-006717734c351926e8daced9805767970c5e65b7.tar.bz2
px4-firmware-006717734c351926e8daced9805767970c5e65b7.zip
FTP: Add skip entry information for proper offset calculation.
Diffstat (limited to 'src/modules/mavlink/mavlink_ftp.cpp')
-rw-r--r--src/modules/mavlink/mavlink_ftp.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp
index cf5fae3b3..2a85c3702 100644
--- a/src/modules/mavlink/mavlink_ftp.cpp
+++ b/src/modules/mavlink/mavlink_ftp.cpp
@@ -351,16 +351,20 @@ MavlinkFTP::_workList(PayloadHeader* payload)
case DTYPE_DIRECTORY:
if (strcmp(entry.d_name, ".") == 0 || strcmp(entry.d_name, "..") == 0) {
// Don't bother sending these back
- continue;
+ direntType = kDirentSkip;
+ } else {
+ direntType = kDirentDir;
}
- direntType = kDirentDir;
break;
default:
// We only send back file and diretory entries, skip everything else
- continue;
+ direntType = kDirentSkip;
}
- if (entry.d_type == DTYPE_FILE) {
+ if (direntType == kDirentSkip) {
+ // Skip send only dirent identifier
+ buf[0] = '\0';
+ } else if (direntType == kDirentFile) {
// Files send filename and file length
snprintf(buf, sizeof(buf), "%s\t%d", entry.d_name, fileSize);
} else {