Directory: eliminate attribute "have_stat"

Check for 0 in "device" and "inode" instead.
This commit is contained in:
Max Kellermann 2014-06-16 19:37:33 +02:00
parent b2433a664c
commit fefb35c782
3 changed files with 3 additions and 4 deletions

View File

@ -39,7 +39,8 @@
Directory::Directory(std::string &&_path_utf8, Directory *_parent) Directory::Directory(std::string &&_path_utf8, Directory *_parent)
:parent(_parent), :parent(_parent),
mtime(0), have_stat(false), mtime(0),
inode(0), device(0),
path(std::move(_path_utf8)), path(std::move(_path_utf8)),
mounted_database(nullptr) mounted_database(nullptr)
{ {

View File

@ -95,7 +95,6 @@ struct Directory {
Directory *parent; Directory *parent;
time_t mtime; time_t mtime;
unsigned inode, device; unsigned inode, device;
bool have_stat; /* not needed if ino_t == dev_t == 0 is impossible */
std::string path; std::string path;

View File

@ -71,7 +71,6 @@ directory_set_stat(Directory &dir, const FileInfo &info)
{ {
dir.inode = info.inode; dir.inode = info.inode;
dir.device = info.device; dir.device = info.device;
dir.have_stat = true;
} }
inline void inline void
@ -167,7 +166,7 @@ FindAncestorLoop(Storage &storage, Directory *parent,
return 0; return 0;
while (parent) { while (parent) {
if (!parent->have_stat && if (parent->device == 0 && parent->inode == 0 &&
!update_directory_stat(storage, *parent)) !update_directory_stat(storage, *parent))
return -1; return -1;