summaryrefslogtreecommitdiff
path: root/core/io
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2018-03-18 14:04:50 +0100
committerPedro J. Estébanez <pedrojrulez@gmail.com>2018-03-18 14:04:50 +0100
commit536611704a2be026682ce3d6c7454b97122d341e (patch)
tree01e2df499993896f8b390130f3ad954fbcada7c5 /core/io
parent201d2d7226ba4d385ac26e3cfaada180c2a7dacb (diff)
Fix listing files inside directory in pack file
When adding a directory path to the inventory of the pack, an empty file name was being added to the file list. That made `Directory.get_ntext()` signal end-of-list too early so that files in a subdirectory were missed. Fixes #15801. Helps with #16798.
Diffstat (limited to 'core/io')
-rw-r--r--core/io/file_access_pack.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/io/file_access_pack.cpp b/core/io/file_access_pack.cpp
index 1a16d0f61c..efb4c7a073 100644
--- a/core/io/file_access_pack.cpp
+++ b/core/io/file_access_pack.cpp
@@ -88,7 +88,11 @@ void PackedData::add_path(const String &pkg_path, const String &path, uint64_t o
}
}
}
- cd->files.insert(path.get_file());
+ String filename = path.get_file();
+ // Don't add as a file if the path points to a directoryy
+ if (!filename.empty()) {
+ cd->files.insert(filename);
+ }
}
}