diff options
author | Alexander Tkachev | 2016-07-04 17:26:16 +0600 |
---|---|---|
committer | Alexander Tkachev | 2016-08-24 16:07:55 +0600 |
commit | 458bfcec79e76b927414ed1b2151a4d59503ff86 (patch) | |
tree | f0acc9826afaf7f23f73a9075f43f36e38c80ebd /gui | |
parent | ddb1a6ccb6238aaed599b271506a94a7c0f18844 (diff) | |
download | scummvm-rg350-458bfcec79e76b927414ed1b2151a4d59503ff86.tar.gz scummvm-rg350-458bfcec79e76b927414ed1b2151a4d59503ff86.tar.bz2 scummvm-rg350-458bfcec79e76b927414ed1b2151a4d59503ff86.zip |
GUI: Fix DownloadDialog path creation
Was adding a path separator even when none is required.
Diffstat (limited to 'gui')
-rw-r--r-- | gui/downloaddialog.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gui/downloaddialog.cpp b/gui/downloaddialog.cpp index 28a29fcb64..05d87c21d8 100644 --- a/gui/downloaddialog.cpp +++ b/gui/downloaddialog.cpp @@ -137,13 +137,15 @@ void DownloadDialog::selectDirectories() { Common::String localPath = dir.getPath(); //simple heuristic to determine which path separator to use - int backslashes = 0; - for (uint32 i = 0; i < localPath.size(); ++i) - if (localPath[i] == '/') --backslashes; - else if (localPath[i] == '\\') ++backslashes; - - if (backslashes > 0) localPath += '\\' + remoteDirectory.name(); - else localPath += '/' + remoteDirectory.name(); + if (localPath.size() && localPath.lastChar() != '/' && localPath.lastChar() != '\\') { + int backslashes = 0; + for (uint32 i = 0; i < localPath.size(); ++i) + if (localPath[i] == '/') --backslashes; + else if (localPath[i] == '\\') ++backslashes; + + if (backslashes > 0) localPath += '\\' + remoteDirectory.name(); + else localPath += '/' + remoteDirectory.name(); + } else localPath += remoteDirectory.name(); CloudMan.startDownload(remoteDirectory.path(), localPath); CloudMan.setDownloadTarget(this); |