[Scummvm-cvs-logs] SF.net SVN: scummvm: [29327] scummvm/trunk/backends/fs/amigaos4/amigaos4-fs .cpp
david_corrales at users.sourceforge.net
david_corrales at users.sourceforge.net
Tue Oct 30 22:31:40 CET 2007
Revision: 29327
http://scummvm.svn.sourceforge.net/scummvm/?rev=29327&view=rev
Author: david_corrales
Date: 2007-10-30 14:31:39 -0700 (Tue, 30 Oct 2007)
Log Message:
-----------
Implement the AmigaOSFilesystemNode::exists() method.
Modified Paths:
--------------
scummvm/trunk/backends/fs/amigaos4/amigaos4-fs.cpp
Modified: scummvm/trunk/backends/fs/amigaos4/amigaos4-fs.cpp
===================================================================
--- scummvm/trunk/backends/fs/amigaos4/amigaos4-fs.cpp 2007-10-30 19:41:55 UTC (rev 29326)
+++ scummvm/trunk/backends/fs/amigaos4/amigaos4-fs.cpp 2007-10-30 21:31:39 UTC (rev 29327)
@@ -87,7 +87,7 @@
*/
virtual ~AmigaOSFilesystemNode();
- virtual bool exists() const { return true; } //FIXME: this is just a stub
+ virtual bool exists() const;
virtual String getDisplayName() const { return _sDisplayName; };
virtual String getName() const { return _sDisplayName; };
virtual String getPath() const { return _sPath; };
@@ -265,6 +265,25 @@
LEAVE();
}
+bool AmigaOSFilesystemNode::exists() const {
+ if(_sPath.empty())
+ return false;
+
+ bool nodeExists = false;
+ ENTER();
+
+ BPTR pLock = IDOS->Lock((STRPTR)_sPath.c_str(), SHARED_LOCK);
+ if (pLock) {
+ if (IDOS->Examine(pLock, fib) != DOSFALSE) {
+ nodeExists = true;
+ }
+ IDOS->UnLock(pLock);
+ }
+
+ LEAVE();
+ return nodeExists;
+}
+
AbstractFilesystemNode *AmigaOSFilesystemNode::getChild(const String &n) const {
if (!_bIsDirectory) {
debug(6, "Not a directory");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list