From f01b8ac21c674a9a710afe4ec28a5b910608dc55 Mon Sep 17 00:00:00 2001 From: David Rose Date: Fri, 9 Oct 2009 00:57:41 +0000 Subject: [PATCH] more fallout from Filename change --- panda/src/express/multifile.cxx | 2 ++ panda/src/express/virtualFileSystem.cxx | 32 ++++++++++++++++++++++++- panda/src/express/virtualFileSystem.h | 1 + 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/panda/src/express/multifile.cxx b/panda/src/express/multifile.cxx index 34ef194bf7..1f38b8fcd1 100644 --- a/panda/src/express/multifile.cxx +++ b/panda/src/express/multifile.cxx @@ -2154,6 +2154,8 @@ standardize_subfile_name(const string &subfile_name) const { if (name[0] == '/') { return name.get_fullpath().substr(1); + } else if (name.length() > 2 && name[0] == '.' && name[1] == '/') { + return name.get_fullpath().substr(2); } else { return name.get_fullpath(); } diff --git a/panda/src/express/virtualFileSystem.cxx b/panda/src/express/virtualFileSystem.cxx index 6531ed48db..91b611f432 100644 --- a/panda/src/express/virtualFileSystem.cxx +++ b/panda/src/express/virtualFileSystem.cxx @@ -147,6 +147,11 @@ mount(const Filename &physical_filename, const Filename &mount_point, //////////////////////////////////////////////////////////////////// bool VirtualFileSystem:: mount(VirtualFileMount *mount, const Filename &mount_point, int flags) { + if (express_cat->is_debug()) { + express_cat->debug() + << "mount " << *mount << " under " << mount_point << "\n"; + } + _lock.acquire(); bool result = do_mount(mount, mount_point, flags); _lock.release(); @@ -174,6 +179,10 @@ unmount(Multifile *multifile) { DCAST(VirtualFileMountMultifile, mount); if (mmount->get_multifile() == multifile) { // Remove this one. Don't increment wi. + if (express_cat->is_debug()) { + express_cat->debug() + << "unmount " << *mount << " from " << mount->get_mount_point() << "\n"; + } mount->_file_system = NULL; } else { @@ -215,6 +224,10 @@ unmount(const Filename &physical_filename) { DCAST(VirtualFileMountSystem, mount); if (smount->get_physical_filename() == physical_filename) { // Remove this one. Don't increment wi. + if (express_cat->is_debug()) { + express_cat->debug() + << "unmount " << *mount << " from " << mount->get_mount_point() << "\n"; + } mount->_file_system = NULL; } else { @@ -227,6 +240,10 @@ unmount(const Filename &physical_filename) { DCAST(VirtualFileMountMultifile, mount); if (mmount->get_multifile()->get_multifile_name() == physical_filename) { // Remove this one. Don't increment wi. + if (express_cat->is_debug()) { + express_cat->debug() + << "unmount " << *mount << " from " << mount->get_mount_point() << "\n"; + } mount->_file_system = NULL; } else { @@ -264,6 +281,10 @@ unmount(VirtualFileMount *mount) { (*wi) = (*ri); if ((*ri) == mount) { // Remove this one. Don't increment wi. + if (express_cat->is_debug()) { + express_cat->debug() + << "unmount " << *mount << " from " << mount->get_mount_point() << "\n"; + } (*ri)->_file_system = NULL; } else { @@ -299,6 +320,10 @@ unmount_point(const Filename &mount_point) { if (mount->get_mount_point() == nmp) { // Remove this one. Don't increment wi. + if (express_cat->is_debug()) { + express_cat->debug() + << "unmount " << *mount << " from " << mount->get_mount_point() << "\n"; + } mount->_file_system = NULL; } else { @@ -326,7 +351,12 @@ unmount_all() { _lock.acquire(); Mounts::iterator ri; for (ri = _mounts.begin(); ri != _mounts.end(); ++ri) { - (*ri)->_file_system = NULL; + VirtualFileMount *mount = (*ri); + if (express_cat->is_debug()) { + express_cat->debug() + << "unmount " << *mount << " from " << mount->get_mount_point() << "\n"; + } + mount->_file_system = NULL; } int num_removed = _mounts.size(); diff --git a/panda/src/express/virtualFileSystem.h b/panda/src/express/virtualFileSystem.h index e991d38bff..df88841fa2 100644 --- a/panda/src/express/virtualFileSystem.h +++ b/panda/src/express/virtualFileSystem.h @@ -62,6 +62,7 @@ PUBLISHED: int get_num_mounts() const; PT(VirtualFileMount) get_mount(int n) const; + MAKE_SEQ(get_mounts, get_num_mounts, get_mount); BLOCKING bool chdir(const Filename &new_directory); BLOCKING Filename get_cwd() const;