diff options
author | Sven Hesse | 2011-08-31 13:43:38 +0200 |
---|---|---|
committer | Sven Hesse | 2011-09-03 18:00:08 +0200 |
commit | cceaa04ef23d766bc666324e69b8fa6fbfa1e39a (patch) | |
tree | 0d1a96d8a6f34c87f5137b5b9bf2ca78b923cd3e | |
parent | eebd5a28f9a76f3021041480fd22d218bcfa18d9 (diff) | |
download | scummvm-rg350-cceaa04ef23d766bc666324e69b8fa6fbfa1e39a.tar.gz scummvm-rg350-cceaa04ef23d766bc666324e69b8fa6fbfa1e39a.tar.bz2 scummvm-rg350-cceaa04ef23d766bc666324e69b8fa6fbfa1e39a.zip |
GOB: Make Util::setExtension() not add an extension to an empty string
-rw-r--r-- | engines/gob/util.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/gob/util.cpp b/engines/gob/util.cpp index 1add604ccb..58dfc9c7ad 100644 --- a/engines/gob/util.cpp +++ b/engines/gob/util.cpp @@ -518,6 +518,11 @@ void Util::deleteList(List *list) { } char *Util::setExtension(char *str, const char *ext) { + assert(str && ext); + + if (str[0] == '\0') + return str; + char *dot = strrchr(str, '.'); if (dot) *dot = '\0'; @@ -527,6 +532,9 @@ char *Util::setExtension(char *str, const char *ext) { } Common::String Util::setExtension(const Common::String &str, const Common::String &ext) { + if (str.empty()) + return str; + const char *dot = strrchr(str.c_str(), '.'); if (dot) return Common::String(str.c_str(), dot - str.c_str()) + ext; |