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)
:parent(_parent),
mtime(0), have_stat(false),
mtime(0),
inode(0), device(0),
path(std::move(_path_utf8)),
mounted_database(nullptr)
{

View File

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

View File

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