summaryrefslogtreecommitdiff
path: root/src/CommonAPI/Configuration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/CommonAPI/Configuration.cpp')
-rw-r--r--src/CommonAPI/Configuration.cpp16
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());
}