From 30e9cf6be025d85cb8b116d5b52ab918c1becca5 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 5 Aug 2022 06:24:25 +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 Change-Id: I0e41a6e7e9c44ff1ec22377329735538d5f95181 Reviewed-by: MÃ¥rten Nordheim Reviewed-by: Qt CI Bot Reviewed-by: Thiago Macieira (cherry picked from commit c25cc34a05c0838052b9a5d6624336ef2a2ae8ea) Reviewed-by: Sona Kurazyan --- src/corelib/global/qglobal.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 89fc6c85cb2..259b92be832 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -3405,7 +3405,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')); @@ -3466,15 +3466,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.