From 8bb65e4ceef41b83a4b95fff6a342d5eaa53f3d6 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Tue, 23 Sep 2014 02:20:45 +0000 Subject: [PATCH] Add user-specified directories to the beginning of the search path This way, users are able to override the defaults. --- src/base/application.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/base/application.cpp b/src/base/application.cpp index 3d426754c..2259339df 100644 --- a/src/base/application.cpp +++ b/src/base/application.cpp @@ -468,20 +468,20 @@ void Application::setDefaultDirectories() void Application::addDataDirectory(const std::string& dir) { ScopedLock dirLock(dir_mutex); - if (inputDirs.size() == 0) { + if (inputDirs.empty()) { setDefaultDirectories(); } string d = stripnonprint(dir); - size_t m, n = inputDirs.size(); - // don't add if already present - for (m = 0; m < n; m++) { - if (d == inputDirs[m]) { - return; - } + // Remove any existing entry for this directory + std::vector::iterator iter = std::find(inputDirs.begin(), + inputDirs.end(), d); + 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)