Beispiel #1
0
time_t filetimeToUnixTime(const FILETIME *ft) {
  if (!is_filetime_set(ft))
    return 0;

  ULONGLONG ll = (ULONGLONG(ft->dwHighDateTime) << 32) + ft->dwLowDateTime;
  return time_t((ll - 116444736000000000LL) / 10000000LL);
}
Beispiel #2
0
int impl_fuse_context::helper_set_time_struct(const FILETIME *filetime,
                                              const time_t backup,
                                              time_t *dest) {
  if (is_filetime_set(filetime))
    *dest = filetimeToUnixTime(filetime);
  else if (backup != 0)
    *dest = backup;
  else
    return -EINVAL;

  return 0;
}