diff options
author | Josh Morman <jmorman@perspectalabs.com> | 2019-10-02 10:15:54 -0400 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2020-01-06 14:03:14 -0800 |
commit | 72b8a8068bff145c5f16a1d56ec852f87569145e (patch) | |
tree | a45d1c1986a24b13bd8d92e62faf0a5c59417cfd /gnuradio-runtime/lib | |
parent | 661993be72349d9f582fe3e0b0bcd9609edf024f (diff) |
runtime: add GR_PREFS_PATH env variable search
When looking for the config file, allow the env variable
GR_PREFS_PATH to be searched so that multiple installations
of GR each with its own prefs can be used, similar to what
is currently done in GRC
Diffstat (limited to 'gnuradio-runtime/lib')
-rw-r--r-- | gnuradio-runtime/lib/prefs.cc | 3 | ||||
-rw-r--r-- | gnuradio-runtime/lib/sys_paths.cc | 15 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gnuradio-runtime/lib/prefs.cc b/gnuradio-runtime/lib/prefs.cc index 4173973c2e..777d64211f 100644 --- a/gnuradio-runtime/lib/prefs.cc +++ b/gnuradio-runtime/lib/prefs.cc @@ -102,8 +102,7 @@ void prefs::_read_files(const std::vector<std::string>& filenames) section = "default"; key = okey; } - std::transform( - section.begin(), section.end(), section.begin(), ::tolower); + std::transform(section.begin(), section.end(), section.begin(), ::tolower); std::transform(key.begin(), key.end(), key.begin(), ::tolower); // value of a basic_option is always a std::vector<string>; we only // allow single values, so: diff --git a/gnuradio-runtime/lib/sys_paths.cc b/gnuradio-runtime/lib/sys_paths.cc index 6305bb40bc..2f26724e7c 100644 --- a/gnuradio-runtime/lib/sys_paths.cc +++ b/gnuradio-runtime/lib/sys_paths.cc @@ -66,8 +66,19 @@ const char* appdata_path() std::string __userconf_path() { - boost::filesystem::path p(appdata_path()); - p = p / ".gnuradio"; + const char* path; + + // First determine if there is an environment variable specifying the prefs path + path = getenv("GR_PREFS_PATH"); + boost::filesystem::path p; + if (path) { + p = path; + } + else { + p = appdata_path(); + p = p / ".gnuradio"; + } + return p.string(); } |