diff --git a/lib/index/mu-indexer.cc b/lib/index/mu-indexer.cc index 3d438cf9..00b741ff 100644 --- a/lib/index/mu-indexer.cc +++ b/lib/index/mu-indexer.cc @@ -158,17 +158,14 @@ Indexer::Private::handler(const std::string& fullpath, struct stat* statbuf, // is up-to-date (this is _not_ always true; hence we call it // lazy-mode); only for actual message dirs, since the dir // tstamps may not bubble up. - if (conf_.lazy_check) { - dirstamp_ = store_.dirstamp(fullpath); - if (dirstamp_ >= statbuf->st_ctime && + dirstamp_ = store_.dirstamp(fullpath); + if (conf_.lazy_check && dirstamp_ >= statbuf->st_ctime && htype == Scanner::HandleType::EnterNewCur) { mu_debug("skip {} (seems up-to-date: {:%FT%T} >= {:%FT%T})", fullpath, mu_time(dirstamp_), mu_time(statbuf->st_ctime)); return false; } - } else - dirstamp_ = 0; - + } // don't index dirs with '.noindex' auto noindex = ::access((fullpath + "/.noindex").c_str(), F_OK) == 0; if (noindex) {