15 const struct stat* after)
17 if ((before ==
nullptr) || (after ==
nullptr)) {
21 const bool times_unchanged = (before->st_mtimespec.tv_sec == after->st_mtimespec.tv_sec) &&
22 (before->st_mtimespec.tv_nsec == after->st_mtimespec.tv_nsec) &&
23 (before->st_ctimespec.tv_sec == after->st_ctimespec.tv_sec) &&
24 (before->st_ctimespec.tv_nsec == after->st_ctimespec.tv_nsec);
26 const bool times_unchanged = (before->st_mtim.tv_sec == after->st_mtim.tv_sec) &&
27 (before->st_mtim.tv_nsec == after->st_mtim.tv_nsec) &&
28 (before->st_ctim.tv_sec == after->st_ctim.tv_sec) &&
29 (before->st_ctim.tv_nsec == after->st_ctim.tv_nsec);
31 return times_unchanged && (before->st_dev == after->st_dev) &&
32 (before->st_ino == after->st_ino) && (before->st_mode == after->st_mode) &&
33 (before->st_size == after->st_size);
bool priv_mdl_host_credential_stat_unchanged(const struct stat *before, const struct stat *after)
Compare identity, size, mode, and nanosecond mutation metadata.