From c25cc34a05c0838052b9a5d6624336ef2a2ae8ea Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 4 Aug 2022 11:50:47 +0200 Subject: [PATCH] Port qenvironmentvariables.cpp to qsizetype MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I don't expect environments to allow values or names > 2 Gi characters, so this is just for consistency (int is a code smell these days). As a drive-by, replace QString buffer; buffer.resize(n); with QString buffer(n, Qt::Uninitialized); Task-number: QTBUG-103527 Pick-to: 6.4 6.3 6.2 Change-Id: I0e41a6e7e9c44ff1ec22377329735538d5f95181 Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Qt CI Bot Reviewed-by: Thiago Macieira --- src/corelib/global/qenvironmentvariables.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/corelib/global/qenvironmentvariables.cpp b/src/corelib/global/qenvironmentvariables.cpp index 7b50de6ec1..de10cb2f7a 100644 --- a/src/corelib/global/qenvironmentvariables.cpp +++ b/src/corelib/global/qenvironmentvariables.cpp @@ -48,7 +48,7 @@ QByteArray qgetenv(const char *varName) getenv_s(&requiredSize, 0, 0, varName); if (requiredSize == 0) return buffer; - buffer.resize(int(requiredSize)); + buffer.resize(qsizetype(requiredSize)); getenv_s(&requiredSize, buffer.data(), requiredSize, varName); // requiredSize includes the terminating null, which we don't want. Q_ASSERT(buffer.endsWith('\0')); @@ -109,15 +109,14 @@ QString qEnvironmentVariable(const char *varName, const QString &defaultValue) { #if defined(Q_OS_WIN) const auto locker = qt_scoped_lock(environmentMutex); - QVarLengthArray wname(int(strlen(varName)) + 1); - for (int i = 0; i < wname.size(); ++i) // wname.size() is correct: will copy terminating null + QVarLengthArray wname(qsizetype(strlen(varName)) + 1); + for (qsizetype i = 0; i < wname.size(); ++i) // wname.size() is correct: will copy terminating null wname[i] = uchar(varName[i]); size_t requiredSize = 0; - QString buffer; _wgetenv_s(&requiredSize, 0, 0, wname.data()); if (requiredSize == 0) return defaultValue; - buffer.resize(int(requiredSize)); + QString buffer(qsizetype(requiredSize), Qt::Uninitialized); _wgetenv_s(&requiredSize, reinterpret_cast(buffer.data()), requiredSize, wname.data()); // requiredSize includes the terminating null, which we don't want.