diff --git a/renderdoc/os/posix/apple/apple_process.cpp b/renderdoc/os/posix/apple/apple_process.cpp index ef3492719..11d87b237 100644 --- a/renderdoc/os/posix/apple/apple_process.cpp +++ b/renderdoc/os/posix/apple/apple_process.cpp @@ -38,7 +38,7 @@ char **GetCurrentEnvironment() rdcstr execcmd(const char *cmd) { - FILE *pipe = popen(cmd, FileIO::ReadText); + FILE *pipe = popen(cmd, "r"); if(!pipe) return "ERROR"; @@ -183,7 +183,8 @@ bool OSUtility::DebuggerPresent() rdcstr Process::GetEnvVariable(const rdcstr &name) { - return getenv(name.c_str()); + const char *val = getenv(name.c_str()); + return val ? val : rdcstr(); } uint64_t Process::GetMemoryUsage() diff --git a/renderdoc/os/posix/ggp/ggp_process.cpp b/renderdoc/os/posix/ggp/ggp_process.cpp index 8e9204640..9e2377794 100644 --- a/renderdoc/os/posix/ggp/ggp_process.cpp +++ b/renderdoc/os/posix/ggp/ggp_process.cpp @@ -194,7 +194,8 @@ bool OSUtility::DebuggerPresent() rdcstr Process::GetEnvVariable(const rdcstr &name) { - return getenv(name.c_str()); + const char *val = getenv(name.c_str()); + return val ? val : rdcstr(); } uint64_t Process::GetMemoryUsage() diff --git a/renderdoc/os/posix/ggp/ggp_stringio.cpp b/renderdoc/os/posix/ggp/ggp_stringio.cpp index 2b0e8f7cb..a0a41f64a 100644 --- a/renderdoc/os/posix/ggp/ggp_stringio.cpp +++ b/renderdoc/os/posix/ggp/ggp_stringio.cpp @@ -85,7 +85,7 @@ rdcstr GetAppFolderFilename(const rdcstr &filename) homedir = getpwuid(getuid())->pw_dir; } - rdcstr ret = rdcstr(homedir) + "/.renderdoc/"; + rdcstr ret = rdcstr(homedir ? homedir : "") + "/.renderdoc/"; mkdir(ret.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); diff --git a/renderdoc/os/posix/linux/linux_process.cpp b/renderdoc/os/posix/linux/linux_process.cpp index 981664108..40d10bc3a 100644 --- a/renderdoc/os/posix/linux/linux_process.cpp +++ b/renderdoc/os/posix/linux/linux_process.cpp @@ -658,7 +658,8 @@ bool OSUtility::DebuggerPresent() rdcstr Process::GetEnvVariable(const rdcstr &name) { - return getenv(name.c_str()); + const char *val = getenv(name.c_str()); + return val ? val : rdcstr(); } uint64_t Process::GetMemoryUsage()