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