From d3e3d14cdc7d1f655a04e96cc329323e2e70aedb Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nicolas.pope@utu.fi> Date: Thu, 19 May 2022 15:43:08 +0000 Subject: [PATCH] #1 Check home env vars exist --- src/uri.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/uri.cpp b/src/uri.cpp index af8347c..ff561f2 100644 --- a/src/uri.cpp +++ b/src/uri.cpp @@ -63,9 +63,15 @@ void URI::_parse(uri_t puri) { suri = std::string("file://") + suri; } else if (suri[0] == '~') { #ifdef WIN32 - suri = string("file://") + string(std::getenv("HOMEDRIVE")) + string(std::getenv("HOMEPATH")) + suri.substr(1); + const char *homeDrive = std::getenv("HOMEDRIVE"); + const char *homePath = std::getenv("HOMEPATH"); + suri = string("file://") + + string((homeDrive) ? homeDrive : "") + + string((homePath) ? homePath : "") + + suri.substr(1); #else - suri = string("file://") + string(std::getenv("HOME")) + suri.substr(1); + const char *homeDir = std::getenv("HOME"); + suri = string("file://") + string((homeDir) ? homeDir : "") + suri.substr(1); #endif } -- GitLab