diff options
Diffstat (limited to 'src/CommonAPI/Configuration.cpp')
-rw-r--r-- | src/CommonAPI/Configuration.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/CommonAPI/Configuration.cpp b/src/CommonAPI/Configuration.cpp index 470015d..021dd1d 100644 --- a/src/CommonAPI/Configuration.cpp +++ b/src/CommonAPI/Configuration.cpp @@ -123,8 +123,22 @@ void Configuration::readConfigFile(std::ifstream& addressConfigFile) { void Configuration::readEnvironmentVariables() { librarySearchPaths_ = split(COMMONAPI_STD_LIB_PATH, ':'); + bool errorOccured = false; +#ifdef WIN32 + char* environmentBindingPath; + size_t len; + errno_t err = _dupenv_s(&environmentBindingPath, &len, COMMONAPI_ENVIRONMENT_BINDING_PATH); + if (err != 0 || environmentBindingPath == NULL) { + errorOccured = true; + } +#else const char* environmentBindingPath = getenv(COMMONAPI_ENVIRONMENT_BINDING_PATH); - if (environmentBindingPath) { + if (!environmentBindingPath) { + errorOccured = true; + } +#endif + + if (!errorOccured) { std::vector<std::string> environmentPaths = split(environmentBindingPath, ':'); librarySearchPaths_.insert(librarySearchPaths_.begin(), environmentPaths.begin(), environmentPaths.end()); } |