[Scummvm-cvs-logs] SF.net SVN: scummvm: [29474] scummvm/trunk/common/file.cpp
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Sun Nov 11 09:08:41 CET 2007
Revision: 29474
http://scummvm.svn.sourceforge.net/scummvm/?rev=29474&view=rev
Author: lordhoto
Date: 2007-11-11 00:08:40 -0800 (Sun, 11 Nov 2007)
Log Message:
-----------
Committed patch #1829748 "Fix for memory leaks in File::exists".
Modified Paths:
--------------
scummvm/trunk/common/file.cpp
Modified: scummvm/trunk/common/file.cpp
===================================================================
--- scummvm/trunk/common/file.cpp 2007-11-11 01:04:40 UTC (rev 29473)
+++ scummvm/trunk/common/file.cpp 2007-11-11 08:08:40 UTC (rev 29474)
@@ -412,33 +412,28 @@
}
bool File::exists(const String &filename) {
- FilesystemNode* file;
- String fname = filename;
-
// First try to find the file via a FilesystemNode (in case an absolute
// path was passed). This is only used to filter out directories.
- file = new FilesystemNode(fname);
- if (file->exists())
- return !file->isDirectory();
+ FilesystemNode file(filename);
+ if (file.exists())
+ return !file.isDirectory();
// See if the file is already mapped
- if (_filesMap && _filesMap->contains(fname)) {
- fname = (*_filesMap)[fname];
- file = new FilesystemNode(fname);
+ if (_filesMap && _filesMap->contains(filename)) {
+ FilesystemNode file2((*_filesMap)[filename]);
- if (file->exists())
- return !file->isDirectory();
+ if (file2.exists())
+ return !file2.isDirectory();
}
// Try all default directories
if (_defaultDirectories) {
StringIntMap::const_iterator i(_defaultDirectories->begin());
for (; i != _defaultDirectories->end(); ++i) {
- fname = i->_key+fname;
- file = new FilesystemNode(fname);
+ FilesystemNode file2(i->_key + filename);
- if(file->exists())
- return !file->isDirectory();
+ if(file2.exists())
+ return !file2.isDirectory();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list