aboutsummaryrefslogtreecommitdiff
path: root/backends/fs/morphos
diff options
context:
space:
mode:
authorMax Horn2006-05-03 20:43:26 +0000
committerMax Horn2006-05-03 20:43:26 +0000
commitd016c353c5f2f87278e244ec6418c87d681925b1 (patch)
tree33040b385072a3611ce4bc76079ee68128a76a53 /backends/fs/morphos
parent1902673ece88d54ae5ae6b51ef63da6b07477bba (diff)
downloadscummvm-rg350-d016c353c5f2f87278e244ec6418c87d681925b1.tar.gz
scummvm-rg350-d016c353c5f2f87278e244ec6418c87d681925b1.tar.bz2
scummvm-rg350-d016c353c5f2f87278e244ec6418c87d681925b1.zip
Changed FilesystemNode::listDir to return a bool indicating its success (or failure)
svn-id: r22315
Diffstat (limited to 'backends/fs/morphos')
-rw-r--r--backends/fs/morphos/abox-fs.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/backends/fs/morphos/abox-fs.cpp b/backends/fs/morphos/abox-fs.cpp
index 70234740d3..38e84b2547 100644
--- a/backends/fs/morphos/abox-fs.cpp
+++ b/backends/fs/morphos/abox-fs.cpp
@@ -51,7 +51,7 @@ class ABoxFilesystemNode : public AbstractFilesystemNode {
virtual bool isDirectory() const { return _isDirectory; }
virtual String path() const { return _path; }
- virtual AbstractFSList listDir(ListMode mode) const;
+ virtual bool listDir(AbstractFSList &list, ListMode mode) const;
static AbstractFSList listRoot();
virtual AbstractFilesystemNode *parent() const;
virtual AbstractFilesystemNode *child(const String &name) const;
@@ -129,10 +129,8 @@ ABoxFilesystemNode::~ABoxFilesystemNode()
}
}
-AbstractFSList ABoxFilesystemNode::listDir(ListMode mode) const
+bool ABoxFilesystemNode::listDir(AbstractFSList &myList, ListMode mode) const
{
- AbstractFSList myList;
-
if (!_isValid)
error("listDir() called on invalid node");
@@ -142,7 +140,8 @@ AbstractFSList ABoxFilesystemNode::listDir(ListMode mode) const
if (_lock == NULL)
{
/* This is the root node */
- return listRoot();
+ myList = listRoot();
+ return true;
}
/* "Normal" file system directory */
@@ -151,7 +150,7 @@ AbstractFSList ABoxFilesystemNode::listDir(ListMode mode) const
if (fib == NULL)
{
warning("Failed to allocate memory for FileInfoBlock");
- return myList;
+ return false;
}
if (Examine(_lock, fib) != DOSFALSE)
@@ -189,7 +188,7 @@ AbstractFSList ABoxFilesystemNode::listDir(ListMode mode) const
FreeDosObject(DOS_FIB, fib);
- return myList;
+ return tree;
}
AbstractFilesystemNode *ABoxFilesystemNode::parent() const