diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-06-02 12:11:13 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-06-02 12:11:13 +0300 |
commit | a942b438a5742d87f84f5f09711abde3daebea1e (patch) | |
tree | 9a592d10db61f5a8686b1cda134990072fd62868 /src/lintmanager.cpp | |
parent | 70d884a705e5f116e9f3f04315cebebfefc96957 (diff) | |
download | mplint-a942b438a5742d87f84f5f09711abde3daebea1e.tar.gz mplint-a942b438a5742d87f84f5f09711abde3daebea1e.tar.bz2 mplint-a942b438a5742d87f84f5f09711abde3daebea1e.tar.xz mplint-a942b438a5742d87f84f5f09711abde3daebea1e.zip |
Add src dir detection.
Diffstat (limited to 'src/lintmanager.cpp')
-rw-r--r-- | src/lintmanager.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lintmanager.cpp b/src/lintmanager.cpp index bba2926..f595a38 100644 --- a/src/lintmanager.cpp +++ b/src/lintmanager.cpp @@ -21,6 +21,7 @@ #include "lintmanager.h" #include "rulebase.h" +#include "stringutils.h" #include <dirent.h> #include <fstream> @@ -32,15 +33,31 @@ LintManager lint; -LintManager::LintManager() +LintManager::LintManager() : + mFileName(), + mRootPath() { } void LintManager::run(std::string path) { + mRootPath = path; + size_t idx = path.rfind("src/"); + if (idx != std::string::npos) + mRootPath = mRootPath.substr(0, idx); + if (!strEndWith(mRootPath, "/")) + mRootPath.append("/"); + + updateRules(); enumFiles(path); } +void LintManager::updateRules() +{ + FOR_EACH (std::vector<RuleBase*>::iterator, it, mRules) + (*it)->setRootDir(mRootPath); +} + void LintManager::addRule(RuleBase *const rule) { mRules.push_back(rule); |