diff options
Diffstat (limited to 'backends/fs')
-rw-r--r-- | backends/fs/fs.cpp | 4 | ||||
-rw-r--r-- | backends/fs/windows/windows-fs.cpp | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/backends/fs/fs.cpp b/backends/fs/fs.cpp index e051e46c9a..983263b37d 100644 --- a/backends/fs/fs.cpp +++ b/backends/fs/fs.cpp @@ -73,9 +73,9 @@ FilesystemNode &FilesystemNode::operator =(const FilesystemNode &node) { FilesystemNode FilesystemNode::getParent() const { AbstractFilesystemNode *node = _realNode->parent(); - if (node == 0) + if (node == 0) { return *this; - else { + } else { return AbstractFilesystemNode::wrap(node); } } diff --git a/backends/fs/windows/windows-fs.cpp b/backends/fs/windows/windows-fs.cpp index 11bec1e2f6..36aed65ca4 100644 --- a/backends/fs/windows/windows-fs.cpp +++ b/backends/fs/windows/windows-fs.cpp @@ -102,7 +102,7 @@ void WindowsFilesystemNode::addFile(FSList &list, ListMode mode, const char *bas entry._path += asciiName; if (entry._isDirectory) entry._path += "\\"; - entry._isValid = true; + entry._isValid = true; entry._isPseudoRoot = false; list.push_back(wrap(new WindowsFilesystemNode(&entry))); @@ -197,8 +197,10 @@ const char *lastPathComponent(const Common::String &str) { AbstractFilesystemNode *WindowsFilesystemNode::parent() const { assert(_isValid || _isPseudoRoot); - WindowsFilesystemNode *p = 0; - if (!_isPseudoRoot && _path.size() > 3) { + if (_isPseudoRoot) + return 0; + WindowsFilesystemNode *p = new WindowsFilesystemNode(); + if (_path.size() > 3) { const char *start = _path.c_str(); const char *end = lastPathComponent(_path); |