Directory: eliminate attribute "have_stat"
Check for 0 in "device" and "inode" instead.
This commit is contained in:
parent
b2433a664c
commit
fefb35c782
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user