aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
Diffstat (limited to 'backends')
-rw-r--r--backends/fs/fs.cpp4
-rw-r--r--backends/fs/windows/windows-fs.cpp8
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);