From 458daa4532eec3a6795c90eb2b7a693da2c0ebfc Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 29 Jun 2019 03:40:20 +0200 Subject: [PATCH] Improved string concat to avoid "//" in paths --- src/blackmisc/fileutils.cpp | 9 ++++++++- src/blackmisc/network/url.cpp | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/blackmisc/fileutils.cpp b/src/blackmisc/fileutils.cpp index 08846f00e..0a1b3a8a3 100644 --- a/src/blackmisc/fileutils.cpp +++ b/src/blackmisc/fileutils.cpp @@ -26,6 +26,7 @@ #include #include #include +#include using namespace BlackConfig; using namespace BlackMisc::Math; @@ -115,7 +116,13 @@ namespace BlackMisc { if (path1.isEmpty()) { return QDir::cleanPath(path2); } if (path2.isEmpty()) { return QDir::cleanPath(path1); } - return QDir::cleanPath(path1 + QChar('/') + path2); + if (path1.endsWith('/')) + { + // avoid double / + if (path2.startsWith('/')) { return QDir::cleanPath(path1 % path2.mid(1)); } + return QDir::cleanPath(path1 % path2); + } + return QDir::cleanPath(path1 % QChar('/') % path2); } QString CFileUtils::appendFilePathsAndFixUnc(const QString &path1, const QString &path2) diff --git a/src/blackmisc/network/url.cpp b/src/blackmisc/network/url.cpp index db488e423..0de71b9d2 100644 --- a/src/blackmisc/network/url.cpp +++ b/src/blackmisc/network/url.cpp @@ -53,8 +53,8 @@ namespace BlackMisc QString CUrl::appendPath(const QString &pathToAppend) { - QString p(getPath()); - p = p.append("/").append(pathToAppend.trimmed()).replace("//", "/"); + if (pathToAppend.isEmpty()) { return m_path; } + const QString p = CFileUtils::appendFilePaths(this->getPath(), pathToAppend); this->setPath(p); return m_path; }