aboutsummaryrefslogtreecommitdiff
path: root/common/file.cpp
diff options
context:
space:
mode:
authorMax Horn2004-07-31 09:34:10 +0000
committerMax Horn2004-07-31 09:34:10 +0000
commitcef2de6a691288d26f9bdba912fdfa373ffa204e (patch)
tree8ed61dc4b5f521a6e06a8e27b995833a3e30287a /common/file.cpp
parent02e6d64ee7c25aa81255510bf86bf3d32973cc52 (diff)
downloadscummvm-rg350-cef2de6a691288d26f9bdba912fdfa373ffa204e.tar.gz
scummvm-rg350-cef2de6a691288d26f9bdba912fdfa373ffa204e.tar.bz2
scummvm-rg350-cef2de6a691288d26f9bdba912fdfa373ffa204e.zip
Fixed bug #1001069; clarified/simplified some error messages
svn-id: r14375
Diffstat (limited to 'common/file.cpp')
-rw-r--r--common/file.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/common/file.cpp b/common/file.cpp
index cac409d0f5..adf0eca1af 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -125,18 +125,14 @@ void File::decRef() {
bool File::open(const char *filename, AccessMode mode, const char *directory) {
+ assert(mode == kFileReadMode || mode == kFileWriteMode);
+
if (_handle) {
- error("File %s already opened", filename);
- return false;
+ error("File::open: This file object already is opened (%s), won't open '%s'", _name, filename);
}
if (filename == NULL || *filename == 0) {
- return false;
- }
-
- if (mode != kFileReadMode && mode != kFileWriteMode) {
- error("Only read/write mode supported!");
- return false;
+ error("File::open: No filename was specified!");
}
clearIOFailed();
@@ -146,6 +142,9 @@ bool File::open(const char *filename, AccessMode mode, const char *directory) {
_handle = fopenNoCase(filename, directory, modeStr);
} else {
Common::StringList::const_iterator x;
+ // First try the current directory
+ _handle = fopenNoCase(filename, "", modeStr);
+ // Next try all default directories
for (x = _defaultDirectories.begin(); _handle == NULL && x != _defaultDirectories.end(); ++x) {
_handle = fopenNoCase(filename, x->c_str(), modeStr);
}