utils: fix declaration of "env_path_sep" such that it is always initialized before it is used in the "get_env_paths" function, by moving it from the global scope to inside that function. This change allows UHD_STATIC_BLOCK(load_modules) to work correctly.

This commit is contained in:
Michael Dickens 2013-10-28 20:58:46 -04:00
parent c357a16e21
commit a48dbb654e

View file

@ -33,9 +33,20 @@
namespace fs = boost::filesystem;
/***********************************************************************
* Get a list of paths for an environment variable
**********************************************************************/
static std::string get_env_var(const std::string &var_name, const std::string &def_val = ""){
const char *var_value_ptr = std::getenv(var_name.c_str());
return (var_value_ptr == NULL)? def_val : var_value_ptr;
}
static std::vector<fs::path> get_env_paths(const std::string &var_name){
/***********************************************************************
* Determine the paths separator
**********************************************************************/
#ifdef UHD_PLATFORM_WIN32
static const std::string env_path_sep = ";";
#else
@ -46,16 +57,6 @@ namespace fs = boost::filesystem;
boost::tokenizer<boost::char_separator<char> > \
(inp, boost::char_separator<char>(env_path_sep.c_str()))
/***********************************************************************
* Get a list of paths for an environment variable
**********************************************************************/
static std::string get_env_var(const std::string &var_name, const std::string &def_val = ""){
const char *var_value_ptr = std::getenv(var_name.c_str());
return (var_value_ptr == NULL)? def_val : var_value_ptr;
}
static std::vector<fs::path> get_env_paths(const std::string &var_name){
std::string var_value = get_env_var(var_name);
//convert to filesystem path, filter blank paths