aboutsummaryrefslogtreecommitdiff
path: root/common/fs.cpp
diff options
context:
space:
mode:
authorMax Horn2010-02-13 11:57:01 +0000
committerMax Horn2010-02-13 11:57:01 +0000
commit0a13162073c95417be0d9414af69d3f6eca36f9b (patch)
tree4e3e97cb9ce3c5d5e030641c6e4e361b29348b57 /common/fs.cpp
parent8ac5d00d576519b2fc0f18aff28d29ad3f6ab852 (diff)
downloadscummvm-rg350-0a13162073c95417be0d9414af69d3f6eca36f9b.tar.gz
scummvm-rg350-0a13162073c95417be0d9414af69d3f6eca36f9b.tar.bz2
scummvm-rg350-0a13162073c95417be0d9414af69d3f6eca36f9b.zip
cleanup
svn-id: r48041
Diffstat (limited to 'common/fs.cpp')
-rw-r--r--common/fs.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/common/fs.cpp b/common/fs.cpp
index 12f0ea98ef..b121d273c8 100644
--- a/common/fs.cpp
+++ b/common/fs.cpp
@@ -49,17 +49,17 @@ FSNode::FSNode(const Common::String &p) {
}
bool FSNode::operator<(const FSNode& node) const {
+ // Directories come before files, i.e., are "lower".
if (isDirectory() != node.isDirectory())
return isDirectory();
+ // If both nodes are of the same type (two files or two dirs),
+ // then sort by name, ignoring case.
return getDisplayName().compareToIgnoreCase(node.getDisplayName()) < 0;
}
bool FSNode::exists() const {
- if (_realNode == 0)
- return false;
-
- return _realNode->exists();
+ return _realNode && _realNode->exists();
}
FSNode FSNode::getChild(const Common::String &n) const {
@@ -116,24 +116,15 @@ Common::String FSNode::getPath() const {
}
bool FSNode::isDirectory() const {
- if (_realNode == 0)
- return false;
-
- return _realNode->isDirectory();
+ return _realNode && _realNode->isDirectory();
}
bool FSNode::isReadable() const {
- if (_realNode == 0)
- return false;
-
- return _realNode->isReadable();
+ return _realNode && _realNode->isReadable();
}
bool FSNode::isWritable() const {
- if (_realNode == 0)
- return false;
-
- return _realNode->isWritable();
+ return _realNode && _realNode->isWritable();
}
Common::SeekableReadStream *FSNode::createReadStream() const {