summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compilerplugins/clang/pluginhandler.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/compilerplugins/clang/pluginhandler.cxx b/compilerplugins/clang/pluginhandler.cxx
index cd554aac97e7..e0edae21ddfa 100644
--- a/compilerplugins/clang/pluginhandler.cxx
+++ b/compilerplugins/clang/pluginhandler.cxx
@@ -21,6 +21,17 @@
This source file manages all plugin actions. It is not necessary to modify this
file when adding new actions.
*/
+
+namespace
+{
+
+bool isPrefix( const string& prefix, const string& full)
+ {
+ return full.compare(0, prefix.size(), prefix) == 0;
+ }
+
+}
+
namespace loplugin
{
@@ -193,7 +204,7 @@ void PluginHandler::HandleTranslationUnit( ASTContext& context )
; // ok
else // scope is module
{
- if( strncmp( modifyFile.c_str(), ( SRCDIR "/" + scope + "/" ).c_str(), ( SRCDIR "/" + scope + "/" ).size()) != 0 )
+ if( !( isPrefix( SRCDIR "/" + scope + "/", modifyFile ) || isPrefix( SRCDIR "/include/" + scope + "/", modifyFile ) ) )
continue;
}
// Warn only now, so that files not in scope do not cause warnings.