Add user-specified directories to the beginning of the search path
This way, users are able to override the defaults.
This commit is contained in:
parent
83ae446142
commit
8bb65e4cee
1 changed files with 8 additions and 8 deletions
|
|
@ -468,20 +468,20 @@ void Application::setDefaultDirectories()
|
||||||
void Application::addDataDirectory(const std::string& dir)
|
void Application::addDataDirectory(const std::string& dir)
|
||||||
{
|
{
|
||||||
ScopedLock dirLock(dir_mutex);
|
ScopedLock dirLock(dir_mutex);
|
||||||
if (inputDirs.size() == 0) {
|
if (inputDirs.empty()) {
|
||||||
setDefaultDirectories();
|
setDefaultDirectories();
|
||||||
}
|
}
|
||||||
string d = stripnonprint(dir);
|
string d = stripnonprint(dir);
|
||||||
size_t m, n = inputDirs.size();
|
|
||||||
|
|
||||||
// don't add if already present
|
// Remove any existing entry for this directory
|
||||||
for (m = 0; m < n; m++) {
|
std::vector<string>::iterator iter = std::find(inputDirs.begin(),
|
||||||
if (d == inputDirs[m]) {
|
inputDirs.end(), d);
|
||||||
return;
|
if (iter != inputDirs.end()) {
|
||||||
}
|
inputDirs.erase(iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
inputDirs.push_back(d);
|
// Insert this directory at the beginning of the search path
|
||||||
|
inputDirs.insert(inputDirs.begin(), d);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Application::findInputFile(const std::string& name)
|
std::string Application::findInputFile(const std::string& name)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue