From b3b1e0b2c5b2296332a2897b8eb36465d62b36d8 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Fri, 22 Mar 2019 22:06:18 -0700 Subject: [PATCH] Have env tryGetPropertyAsString() ck for ENV_PARAM default. --- src/utils/configuration.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/utils/configuration.cpp b/src/utils/configuration.cpp index d6643ec..dd629f7 100644 --- a/src/utils/configuration.cpp +++ b/src/utils/configuration.cpp @@ -119,9 +119,30 @@ void ConfigurationMap::addKeys(keys_t& names) const names.insert(it->first); } +const ENV_PARAM * findEnvConfigParam( const char * envVarName ) +{ + const ENV_PARAM **ppParam = env_param_list; + + /* Find a match with one of the EPICS env vars */ + while (*ppParam) { + if ( strcmp( envVarName, (*ppParam)->name ) == 0 ) { + return *ppParam; + } + ppParam++; + } + + return 0; +} + + bool ConfigurationEnviron::tryGetPropertyAsString(const std::string& name, std::string* val) const { const char *env = getenv(name.c_str()); + if(!env) { + const ENV_PARAM *pParam = findEnvConfigParam( name.c_str() ); + if ( pParam ) + env = pParam->pdflt; + } if(!env || !*env) return false; if(val)