From 6a6e9337c763163597ab3ee2a3d25a07ea54fb60 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 2 Mar 2023 19:05:16 +0100 Subject: [PATCH] QMessageAuthenticationCode: port to QByteArrayView [2/3]: addData() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The class is not used frequently enough to warrant the overhead of a Q_WEAK_ QByteArray overload to fix the SiC Type A for users that pass objects that implicitly convert to QByteArray. QCryptographicHash also doesn't have it. Also mark addData() noexcept. Now that it takes a view instead of an owning container, it only calls other noexcept functions. Make the new overload carry actual documentation instead of just \overload. ChangeLog will be on patch [3/3]. Task-number: QTBUG-111676 Task-number: QTBUG-111688 Change-Id: Ie6447bf54d7d442b1a76761bc0f28f868c08ef09 Reviewed-by: Thiago Macieira Reviewed-by: MÃ¥rten Nordheim --- src/corelib/compat/removed_api.cpp | 5 +++++ src/corelib/tools/qcryptographichash.cpp | 9 +++++++-- src/corelib/tools/qmessageauthenticationcode.h | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index a04550350d2..dd9a13ff355 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -497,6 +497,11 @@ void QMessageAuthenticationCode::setKey(const QByteArray &key) setKey(qToByteArrayViewIgnoringNull(key)); } +void QMessageAuthenticationCode::addData(const QByteArray &data) +{ + addData(qToByteArrayViewIgnoringNull(data)); +} + #include "qstring.h" qsizetype QString::toUcs4_helper(const ushort *uc, qsizetype length, uint *out) diff --git a/src/corelib/tools/qcryptographichash.cpp b/src/corelib/tools/qcryptographichash.cpp index 9ee2860a27e..ac0ee44860e 100644 --- a/src/corelib/tools/qcryptographichash.cpp +++ b/src/corelib/tools/qcryptographichash.cpp @@ -1355,6 +1355,7 @@ void QMessageAuthenticationCode::setKey(QByteArrayView key) noexcept } /*! + \overload Adds the first \a length chars of \a data to the message. */ void QMessageAuthenticationCode::addData(const char *data, qsizetype length) @@ -1363,9 +1364,13 @@ void QMessageAuthenticationCode::addData(const char *data, qsizetype length) } /*! - \overload addData() + Adds \a data to the message. + + \include qcryptographichash.cpp {qba-to-qbav-6.6} + + \sa resultView(), result() */ -void QMessageAuthenticationCode::addData(const QByteArray &data) +void QMessageAuthenticationCode::addData(QByteArrayView data) noexcept { d->messageHash.addData(data); } diff --git a/src/corelib/tools/qmessageauthenticationcode.h b/src/corelib/tools/qmessageauthenticationcode.h index a753f7045fe..4fd811f74b8 100644 --- a/src/corelib/tools/qmessageauthenticationcode.h +++ b/src/corelib/tools/qmessageauthenticationcode.h @@ -39,7 +39,10 @@ public: void setKey(QByteArrayView key) noexcept; void addData(const char *data, qsizetype length); +#if QT_CORE_REMOVED_SINCE(6, 6) void addData(const QByteArray &data); +#endif + void addData(QByteArrayView data) noexcept; bool addData(QIODevice *device); QByteArrayView resultView() const noexcept;