From 9aef0bbdd753939623562f6112adf4e19576c015 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 27 Oct 2019 07:51:20 +0100 Subject: proto/wine: assume HOME exists in environ --- proto-wine/proton.cpp | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) (limited to 'proto-wine') diff --git a/proto-wine/proton.cpp b/proto-wine/proton.cpp index c36dbc86..9cc4af30 100644 --- a/proto-wine/proton.cpp +++ b/proto-wine/proton.cpp @@ -7,47 +7,14 @@ #ifndef OTR_WINE_NO_WRAPPER -#include -#include -#include -#include - -#include - #include #include #include -#include - -static QString home_directory() -{ - struct passwd *pwptr = nullptr, pw{}; - uid_t uid = getuid(); - int shift = 16; - do { - auto buf = std::make_unique(1 << shift); - int error = getpwuid_r(uid, &pw, buf.get(), 1 << shift, &pwptr); - if (error) - { - if (errno != EDOM) - return {}; - else - continue; - } - else - break; - } while (++shift < 28); - - if (!pwptr) - return {}; - - return pwptr->pw_dir; -} QProcessEnvironment make_steam_environ(const QString& proton_version) { auto ret = QProcessEnvironment::systemEnvironment(); - QString home = home_directory(); + QString home = qgetenv("HOME"); auto expand = [&](QString x) { x.replace("HOME", home); @@ -89,7 +56,8 @@ QProcessEnvironment make_steam_environ(const QString& proton_version) QString proton_path(const QString& proton_version) { QString wine_path = "HOME/.local/share/Steam/steamapps/common/Proton PROTON/dist/bin/wine"; - wine_path.replace("HOME", home_directory()); wine_path.replace("PROTON", proton_version); + wine_path.replace("HOME", qgetenv("HOME")); + wine_path.replace("PROTON", proton_version); return wine_path; } -- cgit v1.2.3