From 803c4215534bdbdc545c8aa32418444e27d607f5 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Sun, 22 Jul 2012 22:30:24 +0200 Subject: WINTERMUTE: Fix a few issues in PathUtil, mainly getFileNameWithoutExtension was off by one --- engines/wintermute/utils/path_util.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'engines/wintermute/utils/path_util.cpp') diff --git a/engines/wintermute/utils/path_util.cpp b/engines/wintermute/utils/path_util.cpp index 6b6b2d6b96..6812d824df 100644 --- a/engines/wintermute/utils/path_util.cpp +++ b/engines/wintermute/utils/path_util.cpp @@ -37,10 +37,11 @@ namespace WinterMute { AnsiString PathUtil::unifySeparators(const AnsiString &path) { AnsiString newPath = path; - AnsiString::iterator it; - for (it = newPath.begin(); it != newPath.end(); it++) { - if (*it == '\\') *it = '/'; + for (uint32 i = 0; i < newPath.size(); i++) { + if (newPath[i] == '\\') + newPath.setChar('/', i); } + return newPath; } @@ -78,7 +79,7 @@ AnsiString PathUtil::getFileName(const AnsiString &path) { AnsiString newPath = unifySeparators(path); //size_t pos = newPath.find_last_of(L'/'); TODO REMOVE. - Common::String lastPart = Common::lastPathComponent(path, '/'); + Common::String lastPart = Common::lastPathComponent(newPath, '/'); if (lastPart[lastPart.size() - 1 ] != '/') return lastPart; else @@ -93,9 +94,12 @@ AnsiString PathUtil::getFileNameWithoutExtension(const AnsiString &path) { //size_t pos = fileName.find_last_of('.'); //TODO REMOVE! // TODO: Prettify this. - Common::String extension = Common::lastPathComponent(path, '.'); - Common::String filename = Common::String(path.c_str(), path.size() - extension.size()); - return filename; + AnsiString extension = Common::lastPathComponent(fileName, '.'); + for (int i = 0; i < extension.size() + 1; i++) { + fileName.deleteLastChar(); + } +// Common::String filename = Common::String(fileName.c_str(), fileName.size() - extension.size() + 1); + return fileName; //if (pos == AnsiString::npos) return fileName; //else return fileName.substr(0, pos); } -- cgit v1.2.3