express: Fix VFS mount points not being listed as directories

Fixes #1244
This commit is contained in:
rdb 2024-11-06 13:20:03 +01:00
parent 50b984cffd
commit 0a4d22ad9f
2 changed files with 6 additions and 1 deletions

View File

@ -30,6 +30,7 @@ TypeHandle VirtualFileMountRamdisk::Directory::_type_handle;
*/
VirtualFileMountRamdisk::
VirtualFileMountRamdisk() : _root("") {
_root.local_object();
}
/**
@ -477,6 +478,10 @@ PT(VirtualFileMountRamdisk::FileBase) VirtualFileMountRamdisk::Directory::
do_find_file(const string &filename) const {
size_t slash = filename.find('/');
if (slash == string::npos) {
if (filename.empty()) {
return (FileBase *)this;
}
// Search for a file within the local directory.
FileBase tfile(filename);
tfile.local_object();

View File

@ -1051,7 +1051,7 @@ scan_mount_points(vector_string &names, const Filename &path) const {
mount_point[prefix.length()] == '/') {
// This mount point is below the indicated path. Is it only one
// directory below?
string basename = mount_point.substr(prefix.length());
string basename = mount_point.substr(prefix.length() + 1);
if (basename.find('/') == string::npos) {
// No embedded slashes, so it's only one directory below.
names.push_back(basename);