diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2024-02-28 22:53:19 +0200 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-03-03 20:28:54 +0200 |
commit | d89c32140a0f9b0bd5de113762c28d7861d4a928 (patch) | |
tree | 8c7c149864755bf12fefe2af69abdbc9fdb2167d /src/corelib/io | |
parent | e9126fd3abd00ce38d491da3f8fef61c02620996 (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.cpp | 22 |
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; } /*! |