QByteArray: optimize replace() a bit

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 <marten.nordheim@qt.io>
bb10
Marc Mutz 2021-12-16 09:55:20 +01:00
parent 572b55baa4
commit dc1c0536bb
1 changed files with 1 additions and 1 deletions

View File

@ -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