mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-11 13:30:47 -04:00
Change to more natural directory traversal order
This commit is contained in:
parent
b547ff2502
commit
ca0dfa3e53
@ -301,6 +301,7 @@ void scanner_<LoggerPolicy>::scan(filesystem_writer& fsw,
|
||||
try {
|
||||
auto d = os_->opendir(path);
|
||||
std::string name;
|
||||
std::vector<std::shared_ptr<entry>> subdirs;
|
||||
|
||||
while (d->read(name)) {
|
||||
if (name == "." or name == "..") {
|
||||
@ -329,7 +330,7 @@ void scanner_<LoggerPolicy>::scan(filesystem_writer& fsw,
|
||||
prog.current.store(pe.get());
|
||||
prog.dirs_found++;
|
||||
pe->scan(*os_, prog);
|
||||
queue.push_back(pe);
|
||||
subdirs.push_back(pe);
|
||||
break;
|
||||
|
||||
case entry::E_FILE:
|
||||
@ -361,6 +362,8 @@ void scanner_<LoggerPolicy>::scan(filesystem_writer& fsw,
|
||||
}
|
||||
}
|
||||
|
||||
queue.insert(queue.begin(), subdirs.begin(), subdirs.end());
|
||||
|
||||
prog.dirs_scanned++;
|
||||
} catch (const boost::system::system_error& e) {
|
||||
log_.error() << "cannot open directory: " << e.what();
|
||||
|
Loading…
x
Reference in New Issue
Block a user