From cef2de6a691288d26f9bdba912fdfa373ffa204e Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 31 Jul 2004 09:34:10 +0000 Subject: Fixed bug #1001069; clarified/simplified some error messages svn-id: r14375 --- common/file.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'common/file.cpp') 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); } -- cgit v1.2.3