summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobject.cpp
diff options
context:
space:
mode:
authorAhmad Samir <a.samirh78@gmail.com>2025-04-05 01:22:04 +0200
committerAhmad Samir <a.samirh78@gmail.com>2025-05-25 10:54:52 +0000
commit0c0b5d0ff09ff21d3d8b11bbc3797596450f2882 (patch)
tree21343cda845ea0eb3c7f2c8dec44340916a1cfac /src/corelib/kernel/qmetaobject.cpp
parent054dfb50a0c6b2bc9e2c227579eb6782e65e2134 (diff)
QMetaObject: port qRemoveWhitespace() to QByteArrayView
Change-Id: Ib5754708f25bdb3ac9d6546deaf3182dbb7ed8a8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
-rw-r--r--src/corelib/kernel/qmetaobject.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 2876162d737..0201ea56400 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -1312,17 +1312,19 @@ bool QMetaObject::checkConnectArgs(const QMetaMethod &signal,
QMetaMethodPrivate::get(&method));
}
-static void qRemoveWhitespace(const char *s, char *d)
+static void qRemoveWhitespace(QByteArrayView str, char *d)
{
char last = 0;
- while (*s && is_space(*s))
+ const char *s = str.begin();
+ const char *end = str.end();
+ while (s != end && is_space(*s))
s++;
- while (*s) {
- while (*s && !is_space(*s))
+ while (s != end) {
+ while (s != end && !is_space(*s))
last = *d++ = *s++;
- while (*s && is_space(*s))
+ while (s != end && is_space(*s))
s++;
- if (*s && ((is_ident_char(*s) && is_ident_char(last))
+ if (s != end && ((is_ident_char(*s) && is_ident_char(last))
|| ((*s == ':') && (last == '<')))) {
last = *d++ = ' ';
}
@@ -1388,7 +1390,7 @@ QByteArray QMetaObject::normalizedSignature(const char *method)
int len = int(strlen(method));
QVarLengthArray<char> stackbuf(len + 1);
char *d = stackbuf.data();
- qRemoveWhitespace(method, d);
+ qRemoveWhitespace(QByteArrayView{method, len}, d);
result.reserve(len);