From e7e0532e1b31b5b125265fae8e39e0e9e8698b36 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 30 Oct 2007 21:57:41 +0000 Subject: - free fib object in AmigaOSFilesystemNode::exists - cleanup svn-id: r29330 --- backends/fs/amigaos4/amigaos4-fs.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'backends') diff --git a/backends/fs/amigaos4/amigaos4-fs.cpp b/backends/fs/amigaos4/amigaos4-fs.cpp index d85d64a9bb..20b3cfc4c8 100644 --- a/backends/fs/amigaos4/amigaos4-fs.cpp +++ b/backends/fs/amigaos4/amigaos4-fs.cpp @@ -266,11 +266,11 @@ AmigaOSFilesystemNode::~AmigaOSFilesystemNode() { } bool AmigaOSFilesystemNode::exists() const { + ENTER(); if(_sPath.empty()) return false; bool nodeExists = false; - ENTER(); struct FileInfoBlock *fib = (struct FileInfoBlock *)IDOS->AllocDosObject(DOS_FIB, NULL); if (!fib) { @@ -281,17 +281,18 @@ bool AmigaOSFilesystemNode::exists() const { BPTR pLock = IDOS->Lock((STRPTR)_sPath.c_str(), SHARED_LOCK); if (pLock) { - if (IDOS->Examine(pLock, fib) != DOSFALSE) { + if (IDOS->Examine(pLock, fib) != DOSFALSE) nodeExists = true; - } IDOS->UnLock(pLock); } + IDOS->FreeDosObject(DOS_FIB, fib); LEAVE(); return nodeExists; } AbstractFilesystemNode *AmigaOSFilesystemNode::getChild(const String &n) const { + ENTER(); if (!_bIsDirectory) { debug(6, "Not a directory"); return 0; @@ -312,6 +313,7 @@ AbstractFilesystemNode *AmigaOSFilesystemNode::getChild(const String &n) const { IDOS->UnLock(lock); + LEAVE(); return new AmigaOSFilesystemNode(newPath); } -- cgit v1.2.3