summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2024-02-28 22:53:19 +0200
committerAhmad Samir <a.samirh78@gmail.com>2024-03-03 20:28:54 +0200
commitd89c32140a0f9b0bd5de113762c28d7861d4a928 (patch)
tree8c7c149864755bf12fefe2af69abdbc9fdb2167d /src/corelib/io
parente9126fd3abd00ce38d491da3f8fef61c02620996 (diff)
QAbstractFileEngineIterator: ensure `m_path` ends with '/'
... when it's first assigned, instead of in currentFilePath(), muck like what QFileSystemIterator does. Change-Id: Id58ddcd6df5ad911fd5a62f1ca386e25626cb781 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io')
-rw-r--r--src/corelib/io/qabstractfileengine.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/corelib/io/qabstractfileengine.cpp b/src/corelib/io/qabstractfileengine.cpp
index 08692c394c..1ab5194913 100644
--- a/src/corelib/io/qabstractfileengine.cpp
+++ b/src/corelib/io/qabstractfileengine.cpp
@@ -19,6 +19,13 @@
QT_BEGIN_NAMESPACE
+static QString appendSlashIfNeeded(const QString &path)
+{
+ if (!path.isEmpty() && !path.endsWith(u'/'))
+ return QString{path + u'/'};
+ return path;
+}
+
/*!
\class QAbstractFileEngineHandler
\inmodule QtCore
@@ -919,7 +926,7 @@ QString QAbstractFileEngineIterator::path() const
*/
void QAbstractFileEngineIterator::setPath(const QString &path)
{
- m_path = path;
+ m_path = appendSlashIfNeeded(path);
}
/*!
@@ -960,15 +967,10 @@ QDir::Filters QAbstractFileEngineIterator::filters() const
QString QAbstractFileEngineIterator::currentFilePath() const
{
QString name = currentFileName();
- if (!name.isNull()) {
- QString tmp = path();
- if (!tmp.isEmpty()) {
- if (!tmp.endsWith(u'/'))
- tmp.append(u'/');
- name.prepend(tmp);
- }
- }
- return name;
+ if (name.isNull())
+ return name;
+
+ return path() + name;
}
/*!