diff options
Diffstat (limited to '')
-rw-r--r-- | exclude.cc | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -33,15 +33,12 @@ std::vector< std::string > patterns; // list of patterns void Exclude::add_pattern( const std::string & arg ) { patterns.push_back( arg ); } -void Exclude::clear() { patterns.clear(); } - bool Exclude::excluded( const char * const filename ) { if( patterns.empty() ) return false; const char * p = filename; - while( *p ) - { + do { for( unsigned i = 0; i < patterns.size(); ++i ) // ignore a trailing sequence starting with '/' in filename #ifdef FNM_LEADING_DIR @@ -52,6 +49,6 @@ bool Exclude::excluded( const char * const filename ) #endif while( *p && *p != '/' ) ++p; // skip component while( *p == '/' ) ++p; // skip slashes - } + } while( *p ); return false; } |