summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/lib
diff options
context:
space:
mode:
authorJosh Morman <jmorman@perspectalabs.com>2019-10-02 10:15:54 -0400
committerMartin Braun <martin.braun@ettus.com>2020-01-06 14:03:14 -0800
commit72b8a8068bff145c5f16a1d56ec852f87569145e (patch)
treea45d1c1986a24b13bd8d92e62faf0a5c59417cfd /gnuradio-runtime/lib
parent661993be72349d9f582fe3e0b0bcd9609edf024f (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.cc3
-rw-r--r--gnuradio-runtime/lib/sys_paths.cc15
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();
}