aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorJohannes Schickel2006-08-28 13:34:15 +0000
committerJohannes Schickel2006-08-28 13:34:15 +0000
commitac45e290f7550da70039c1d2051d7e6ed31cc7b7 (patch)
treef42e94c824f33606e4bfa215c66d849c10167cd6 /backends
parentd9cb390a7b33a80a39b1295a5920e3cd70c408b0 (diff)
downloadscummvm-rg350-ac45e290f7550da70039c1d2051d7e6ed31cc7b7.tar.gz
scummvm-rg350-ac45e290f7550da70039c1d2051d7e6ed31cc7b7.tar.bz2
scummvm-rg350-ac45e290f7550da70039c1d2051d7e6ed31cc7b7.zip
Fixing other FS backends to use the bug fixed version of the POSIX lastPathComponent too (also lets the Windows FS use the POSIX version of lastPathComponent too, since it's nicer than the fix I made)
svn-id: r23796
Diffstat (limited to 'backends')
-rw-r--r--backends/fs/dc/dc-fs.cpp3
-rw-r--r--backends/fs/gp32/gp32-fs.cpp4
-rw-r--r--backends/fs/palmos/palmos-fs.cpp3
-rw-r--r--backends/fs/psp/psp_fs.cpp4
-rw-r--r--backends/fs/symbian/symbian-fs.cpp2
-rw-r--r--backends/fs/windows/windows-fs.cpp5
6 files changed, 10 insertions, 11 deletions
diff --git a/backends/fs/dc/dc-fs.cpp b/backends/fs/dc/dc-fs.cpp
index db097301ce..7294211e68 100644
--- a/backends/fs/dc/dc-fs.cpp
+++ b/backends/fs/dc/dc-fs.cpp
@@ -59,13 +59,14 @@ static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
- while (cur > start && *cur != '/') {
+ while (cur >= start && *cur != '/') {
--cur;
}
return cur + 1;
}
+
AbstractFilesystemNode *AbstractFilesystemNode::getCurrentDirectory() {
// Since there is no way to _set_ the current directory,
// it will always be /...
diff --git a/backends/fs/gp32/gp32-fs.cpp b/backends/fs/gp32/gp32-fs.cpp
index c94460d727..1288622632 100644
--- a/backends/fs/gp32/gp32-fs.cpp
+++ b/backends/fs/gp32/gp32-fs.cpp
@@ -194,11 +194,11 @@ bool GP32FilesystemNode::listDir(AbstractFSList &myList, ListMode mode) const {
return true;
}
-const char *lastPathComponent(const Common::String &str) {
+static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
- while (cur > start && *cur != '\\') {
+ while (cur >= start && *cur != '/') {
--cur;
}
diff --git a/backends/fs/palmos/palmos-fs.cpp b/backends/fs/palmos/palmos-fs.cpp
index afdf26a4f5..4dfdb2f068 100644
--- a/backends/fs/palmos/palmos-fs.cpp
+++ b/backends/fs/palmos/palmos-fs.cpp
@@ -61,8 +61,9 @@ static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
- while (cur > start && *cur != '/')
+ while (cur >= start && *cur != '/') {
--cur;
+ }
return cur + 1;
}
diff --git a/backends/fs/psp/psp_fs.cpp b/backends/fs/psp/psp_fs.cpp
index 0ad98729a9..0f16ac8395 100644
--- a/backends/fs/psp/psp_fs.cpp
+++ b/backends/fs/psp/psp_fs.cpp
@@ -133,11 +133,11 @@ bool PSPFilesystemNode::listDir(AbstractFSList &myList, ListMode mode) const {
}
}
-const char *lastPathComponent(const Common::String &str) {
+static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
- while (cur > start && *cur != '/') {
+ while (cur >= start && *cur != '/') {
--cur;
}
diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp
index b8a3e9312d..4dca90e1db 100644
--- a/backends/fs/symbian/symbian-fs.cpp
+++ b/backends/fs/symbian/symbian-fs.cpp
@@ -62,7 +62,7 @@ static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
- while (cur > start && *cur != '\\') {
+ while (cur >= start && *cur != '/') {
--cur;
}
diff --git a/backends/fs/windows/windows-fs.cpp b/backends/fs/windows/windows-fs.cpp
index 4819d38313..0472f248b2 100644
--- a/backends/fs/windows/windows-fs.cpp
+++ b/backends/fs/windows/windows-fs.cpp
@@ -65,13 +65,10 @@ static const char *lastPathComponent(const Common::String &str) {
const char *start = str.c_str();
const char *cur = start + str.size() - 2;
- while (cur > start && *cur != '\\') {
+ while (cur >= start && *cur != '/') {
--cur;
}
- if (cur == start)
- return cur;
-
return cur + 1;
}