From 2115e5d181697da99fd962a16690f44678cbfc2c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 22 Sep 2007 20:47:41 +0000 Subject: Hopefully fix amigos4 fs implementation. svn-id: r29029 --- backends/fs/amigaos4/amigaos4-fs.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'backends/fs/amigaos4/amigaos4-fs.cpp') diff --git a/backends/fs/amigaos4/amigaos4-fs.cpp b/backends/fs/amigaos4/amigaos4-fs.cpp index 4ad02e0655..b30b5c6eeb 100644 --- a/backends/fs/amigaos4/amigaos4-fs.cpp +++ b/backends/fs/amigaos4/amigaos4-fs.cpp @@ -106,6 +106,28 @@ public: virtual AbstractFSList listVolumes() const; }; +// TODO: this is ripped of +// AmigaOSFilesystemNode::AmigaOSFilesystemNode(const String &p) +// maybe change it to use this function instead? +/** + * Returns the last component of a given path. + * + * @param str String containing the path. + * @return Pointer to the first char of the last component inside str. + */ +const char *lastPathComponent(const Common::String &str) { + int offset = p.size(); + const char *str = p.c_str(); + + while (offset > 0 && (str[offset-1] == '/' || str[offset-1] == ':')) + offset--; + + while (offset > 0 && (str[offset-1] != '/' && str[offset-1] != ':')) + offset--; + + return str.c_str() + offset; +} + AmigaOSFilesystemNode::AmigaOSFilesystemNode() { ENTER(); _sDisplayName = "Available Disks"; -- cgit v1.2.3