From dc1c0536bb3d82b1d2c22325ba9480aec6a68833 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 16 Dec 2021 09:55:20 +0100 Subject: [PATCH] QByteArray: optimize replace() a bit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These days, we perform the alias check unconditionally, so the remainder of the function can assume that *this and after do not overlap. So memcpy() suffices, we don't need memmove(). Pick-to: 6.3 6.2 Change-Id: Ib6966facfe643b0aaf50d902709f5fe926bed527 Reviewed-by: MÃ¥rten Nordheim --- src/corelib/text/qbytearray.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/text/qbytearray.cpp b/src/corelib/text/qbytearray.cpp index c45ae1f8e4..7562548bad 100644 --- a/src/corelib/text/qbytearray.cpp +++ b/src/corelib/text/qbytearray.cpp @@ -2170,7 +2170,7 @@ QByteArray &QByteArray::replace(qsizetype pos, qsizetype len, QByteArrayView aft } if (len == after.size() && (pos + len <= size())) { detach(); - memmove(d.data() + pos, after.data(), len*sizeof(char)); + memcpy(d.data() + pos, after.data(), len*sizeof(char)); return *this; } else { // ### optimize me