summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/compat/removed_api.cpp4
-rw-r--r--src/corelib/text/qbytearraylist.cpp6
-rw-r--r--src/corelib/text/qbytearraylist.h6
3 files changed, 9 insertions, 7 deletions
diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp
index 5f59cf047a..d27656bf7a 100644
--- a/src/corelib/compat/removed_api.cpp
+++ b/src/corelib/compat/removed_api.cpp
@@ -108,10 +108,12 @@ QUuid QUuid::fromRfc4122(const QByteArray &bytes)
#include "qbytearraylist.h"
+# if QT_POINTER_SIZE != 4
QByteArray QtPrivate::QByteArrayList_join(const QByteArrayList *that, const char *sep, int seplen)
{
- return QByteArrayList_join(that, {sep, seplen});
+ return QByteArrayList_join(that, sep, qsizetype(seplen));
}
+# endif
#endif // QT_REMOVED_SINCE(6, 3)
diff --git a/src/corelib/text/qbytearraylist.cpp b/src/corelib/text/qbytearraylist.cpp
index e23bdc7bd8..129bcfc835 100644
--- a/src/corelib/text/qbytearraylist.cpp
+++ b/src/corelib/text/qbytearraylist.cpp
@@ -138,15 +138,15 @@ static qsizetype QByteArrayList_joinedSize(const QByteArrayList *that, qsizetype
return totalLength;
}
-QByteArray QtPrivate::QByteArrayList_join(const QByteArrayList *that, QByteArrayView sep)
+QByteArray QtPrivate::QByteArrayList_join(const QByteArrayList *that, const char *sep, qsizetype seplen)
{
QByteArray res;
- if (const qsizetype joinedSize = QByteArrayList_joinedSize(that, sep.size()))
+ if (const qsizetype joinedSize = QByteArrayList_joinedSize(that, seplen))
res.reserve(joinedSize); // don't call reserve(0) - it allocates one byte for the NUL
const qsizetype size = that->size();
for (qsizetype i = 0; i < size; ++i) {
if (i)
- res.append(sep);
+ res.append(sep, seplen);
res += that->at(i);
}
return res;
diff --git a/src/corelib/text/qbytearraylist.h b/src/corelib/text/qbytearraylist.h
index c4985047fa..de5546c8ce 100644
--- a/src/corelib/text/qbytearraylist.h
+++ b/src/corelib/text/qbytearraylist.h
@@ -58,10 +58,10 @@ typedef QMutableListIterator<QByteArray> QMutableByteArrayListIterator;
#ifndef Q_CLANG_QDOC
namespace QtPrivate {
-#if QT_REMOVED_SINCE(6, 3)
+#if QT_REMOVED_SINCE(6, 3) && QT_POINTER_SIZE != 4
QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, const char *separator, int separatorLength);
#endif
- QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, QByteArrayView separator);
+ QByteArray Q_CORE_EXPORT QByteArrayList_join(const QByteArrayList *that, const char *sep, qsizetype len);
}
#endif
@@ -82,7 +82,7 @@ public:
QByteArray join(QByteArrayView sep = {}) const
{
- return QtPrivate::QByteArrayList_join(self(), sep);
+ return QtPrivate::QByteArrayList_join(self(), sep.data(), sep.size());
}
Q_WEAK_OVERLOAD
inline QByteArray join(const QByteArray &sep) const