diff options
Diffstat (limited to 'libs/pbd/search_path.cc')
-rw-r--r-- | libs/pbd/search_path.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/pbd/search_path.cc b/libs/pbd/search_path.cc index 0106881f84..fe2087f6b1 100644 --- a/libs/pbd/search_path.cc +++ b/libs/pbd/search_path.cc @@ -17,6 +17,9 @@ */ +#include <string> + +#include <glib.h> #include <glibmm/miscutils.h> #include "pbd/tokenizer.h" @@ -118,4 +121,26 @@ Searchpath::add_subdirectory_to_paths (const string& subdir) return *this; } +/* This is not part of the Searchpath object, but is closely related to the + * whole idea, and we put it here for convenience. + */ + +void +export_search_path (const string& base_dir, const char* varname, const char* dir) +{ + string path; + const char * cstr = g_getenv (varname); + + if (cstr) { + path = cstr; + path += ':'; + } else { + path = ""; + } + path += base_dir; + path += dir; + + g_setenv (varname, path.c_str(), 1); +} + } // namespace PBD |