diff options
author | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2018-03-18 14:04:50 +0100 |
---|---|---|
committer | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2018-03-18 14:04:50 +0100 |
commit | 536611704a2be026682ce3d6c7454b97122d341e (patch) | |
tree | 01e2df499993896f8b390130f3ad954fbcada7c5 /core/io | |
parent | 201d2d7226ba4d385ac26e3cfaada180c2a7dacb (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.cpp | 6 |
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); + } } } |