aboutsummaryrefslogtreecommitdiff
path: root/backends/fs/amigaos4/amigaos4-fs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/fs/amigaos4/amigaos4-fs.cpp')
-rw-r--r--backends/fs/amigaos4/amigaos4-fs.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/backends/fs/amigaos4/amigaos4-fs.cpp b/backends/fs/amigaos4/amigaos4-fs.cpp
index 2be79012ec..cc7220c9b1 100644
--- a/backends/fs/amigaos4/amigaos4-fs.cpp
+++ b/backends/fs/amigaos4/amigaos4-fs.cpp
@@ -69,7 +69,7 @@ class AmigaOSFilesystemNode : public AbstractFilesystemNode {
virtual bool isDirectory() const { return _bIsDirectory; };
virtual String path() const { return _sPath; };
- virtual AbstractFSList listDir(ListMode mode) const;
+ virtual bool listDir(AbstractFSList &list, ListMode mode) const;
virtual AbstractFSList listVolumes(void) const;
virtual AbstractFilesystemNode *parent() const;
virtual AbstractFilesystemNode *child(const String &name) const;
@@ -222,27 +222,26 @@ AmigaOSFilesystemNode::~AmigaOSFilesystemNode() {
LEAVE();
}
-AbstractFSList AmigaOSFilesystemNode::listDir(ListMode mode) const {
+bool AmigaOSFilesystemNode::listDir(AbstractFSList &myList, ListMode mode) const {
ENTER();
- AbstractFSList myList;
-
if (!_bIsValid) {
debug(6, "Invalid node");
LEAVE();
- return myList; // Empty list
+ return false; // Empty list
}
if (!_bIsDirectory) {
debug(6, "Not a directory");
LEAVE();
- return myList; // Empty list
+ return false; // Empty list
}
if (_pFileLock == 0) {
debug(6, "Root node");
LEAVE();
- return listVolumes();
+ myList = listVolumes();
+ return true;
}
struct ExAllControl *eac = (struct ExAllControl *)IDOS->AllocDosObject(DOS_EXALLCONTROL, 0);
@@ -293,7 +292,7 @@ AbstractFSList AmigaOSFilesystemNode::listDir(ListMode mode) const {
}
LEAVE();
- return myList;
+ return true;
}
AbstractFilesystemNode *AmigaOSFilesystemNode::parent() const {