From dd31574b4f8060bd6b6e33955decdc1d0cc915aa Mon Sep 17 00:00:00 2001 From: RipleyTom Date: Mon, 30 May 2022 22:36:47 +0200 Subject: [PATCH] fix: changes execl to execv for compatibility with checkrt --- rpcs3/rpcs3qt/update_manager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rpcs3/rpcs3qt/update_manager.cpp b/rpcs3/rpcs3qt/update_manager.cpp index dedc3e2507..76731c1b2a 100644 --- a/rpcs3/rpcs3qt/update_manager.cpp +++ b/rpcs3/rpcs3qt/update_manager.cpp @@ -620,8 +620,6 @@ bool update_manager::handle_rpcs3(const QByteArray& data, bool auto_accept) } new_appimage.close(); - unsetenv("APPDIR"); - update_log.success("Successfully updated %s!", replace_path); #endif @@ -650,9 +648,11 @@ bool update_manager::handle_rpcs3(const QByteArray& data, bool auto_accept) Emu.CleanUp(); #ifdef _WIN32 - const int ret = _wexecl(wchar_orig_path.data(), L"--updating", nullptr); + const int ret = _wexecl(wchar_orig_path.data(), wchar_orig_path.data(), L"--updating", nullptr); #else - const int ret = execl(replace_path.c_str(), "--updating", nullptr); + // execv is used for compatibility with checkrt + const char * const params[3] = { replace_path.c_str(), "--updating", nullptr }; + const int ret = execv(replace_path.c_str(), const_cast(¶ms[0])); #endif if (ret == -1) {