From 4e4c98e2327e43f712a3f0b1b59f63f8302beff2 Mon Sep 17 00:00:00 2001
From: Vladimir Stoiakin <VStoiakin@lavabit.com>
Date: Wed, 23 Feb 2022 11:52:53 +0300
Subject: [PATCH] misc: use QDir for getting a temporary directory

Gitlab: #692
Change-Id: I2f45476c3e5ee4d35ec39c17f923117769c5b652
---
 src/messagesadapter.cpp |  6 +++---
 src/updatemanager.cpp   |  8 ++++----
 src/utils.cpp           | 17 -----------------
 src/utils.h             |  1 -
 4 files changed, 7 insertions(+), 25 deletions(-)

diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index fb4a4c0a8..948d508c2 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -25,7 +25,6 @@
 
 #include "appsettingsmanager.h"
 #include "qtutils.h"
-#include "utils.h"
 
 #include <api/datatransfermodel.h>
 
@@ -39,6 +38,7 @@
 #include <QMimeData>
 #include <QBuffer>
 #include <QtMath>
+#include <QDir>
 
 MessagesAdapter::MessagesAdapter(AppSettingsManager* settingsManager,
                                  PreviewEngine* previewEngine,
@@ -232,8 +232,8 @@ MessagesAdapter::onPaste()
         auto img_name_hash
             = QCryptographicHash::hash(QString::number(pixmap.cacheKey()).toLocal8Bit(),
                                        QCryptographicHash::Sha1);
-        QString fileName = "\\img_" + QString(img_name_hash.toHex()) + ".png";
-        QString path = QString(Utils::WinGetEnv("TEMP")) + fileName;
+        QString fileName = "img_" + QString(img_name_hash.toHex()) + ".png";
+        QString path = QDir::temp().filePath(fileName);
 
         if (!pixmap.save(path, "PNG")) {
             qDebug().noquote() << "Errors during QPixmap save"
diff --git a/src/updatemanager.cpp b/src/updatemanager.cpp
index b9af40444..716866a46 100644
--- a/src/updatemanager.cpp
+++ b/src/updatemanager.cpp
@@ -19,11 +19,11 @@
 #include "updatemanager.h"
 
 #include "lrcinstance.h"
-#include "utils.h"
 #include "version.h"
 
 #include <QProcess>
 #include <QTimer>
+#include <QDir>
 
 #ifdef BETA
 static constexpr bool isBeta = true;
@@ -45,7 +45,7 @@ struct UpdateManager::Impl : public QObject
         , parent_(parent)
         , lrcInstance_(instance)
         , baseUrlString_(url.isEmpty() ? downloadUrl : url)
-        , tempPath_(Utils::WinGetEnv("TEMP"))
+        , tempPath_(QDir::tempPath())
         , updateTimer_(new QTimer(this))
     {
         connect(updateTimer_, &QTimer::timeout, [this] {
@@ -148,8 +148,8 @@ struct UpdateManager::Impl : public QObject
 
     void cleanUpdateFiles()
     {
-        // Delete all logs and msi in the %TEMP% directory before launching.
-        QString dir = QString(Utils::WinGetEnv("TEMP"));
+        // Delete all logs and msi in the temporary directory before launching.
+        QString dir = QDir::tempPath();
         QDir log_dir(dir, {"jami*.log"});
         for (const QString& filename : log_dir.entryList()) {
             log_dir.remove(filename);
diff --git a/src/utils.cpp b/src/utils.cpp
index 88465ed30..2114f9b0e 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -213,23 +213,6 @@ Utils::CheckStartupLink(const std::wstring& wstrAppName)
 #endif
 }
 
-const char*
-Utils::WinGetEnv(const char* name)
-{
-#ifdef Q_OS_WIN
-    const DWORD buffSize = 65535;
-    static char buffer[buffSize];
-    if (GetEnvironmentVariableA(name, buffer, buffSize)) {
-        return buffer;
-    } else {
-        return 0;
-    }
-#else
-    Q_UNUSED(name)
-    return 0;
-#endif
-}
-
 void
 Utils::removeOldVersions()
 {
diff --git a/src/utils.h b/src/utils.h
index 174dfff7e..34cb91a68 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -62,7 +62,6 @@ bool CreateStartupLink(const std::wstring& wstrAppName);
 void DeleteStartupLink(const std::wstring& wstrAppName);
 bool CreateLink(LPCWSTR lpszPathObj, LPCWSTR lpszPathLink);
 bool CheckStartupLink(const std::wstring& wstrAppName);
-const char* WinGetEnv(const char* name);
 QString GetRingtonePath();
 QString GenGUID();
 QString GetISODate();
-- 
GitLab