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