From 2bfd78e4278b5b099659656e3156aca9b1943486 Mon Sep 17 00:00:00 2001
From: Riccardo Maria Bianchi <riccardo.maria.bianchi@cern.ch>
Date: Wed, 15 May 2024 02:33:52 +0200
Subject: [PATCH] Moved getEnvVar from GeoModelIO

---
 .../GeoModelHelpers/GeoModelHelpers/StringUtils.h      |  2 ++
 GeoModelCore/GeoModelHelpers/src/StringUtils.cxx       |  9 ++++++++-
 GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx | 10 +++++-----
 3 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/GeoModelCore/GeoModelHelpers/GeoModelHelpers/StringUtils.h b/GeoModelCore/GeoModelHelpers/GeoModelHelpers/StringUtils.h
index 6a7a3d2f2..94a603805 100644
--- a/GeoModelCore/GeoModelHelpers/GeoModelHelpers/StringUtils.h
+++ b/GeoModelCore/GeoModelHelpers/GeoModelHelpers/StringUtils.h
@@ -28,6 +28,8 @@ namespace GeoStrUtils{
     /// @return 
     std::string resolveEnviromentVariables(const std::string_view str);
 
+    std::string getEnvVar(const std::string_view key);
+
     /// @brief returns the longest substring that's common between the
     ///        two given strings starting from character 0
     std::string_view longestCommonString(const std::string_view firstStr,
diff --git a/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx b/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx
index 557a33534..f7b342f69 100644
--- a/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx
+++ b/GeoModelCore/GeoModelHelpers/src/StringUtils.cxx
@@ -51,7 +51,14 @@ namespace GeoStrUtils {
         }
         return str;
     }
-   
+
+    std::string getEnvVar(const std::string_view key)
+    {
+        std::string keyStr{key};
+        char *val = std::getenv(keyStr.c_str());
+        return val == NULL ? std::string{} : std::string(val);
+    }
+
    std::vector<std::string> tokenize(const std::string& str,
                                       std::string_view delimiters) {
                                     
diff --git a/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx b/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx
index 1fa425cc7..0a9b63c44 100644
--- a/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx
+++ b/GeoModelCore/GeoModelHelpers/tests/testStringUtils.cxx
@@ -8,11 +8,11 @@
 #include <stdlib.h>
 using namespace GeoStrUtils;
 
-namespace {
-    std::string getEnvVar(const std::string& varName){
-       return std::getenv(varName.c_str()) ? std::string{std::getenv(varName.c_str())} : std::string{};
-    }
-}
+// namespace {
+//     std::string getEnvVar(const std::string& varName){
+//        return std::getenv(varName.c_str()) ? std::string{std::getenv(varName.c_str())} : std::string{};
+//     }
+// }
 
 int main() {
    if (resolveEnviromentVariables("${PWD}") != getEnvVar("PWD")) {
-- 
GitLab