strempty(arg_copy_source), *source, strempty(root), *target);
} else {
_cleanup_free_ char *dn = NULL, *fn = NULL;
- struct timespec tspec;
/* We are looking at a regular file */
(void) copy_access(sfd, tfd);
(void) copy_times(sfd, tfd, 0);
- timespec_store_nsec(&tspec, ts);
+ if (ts != USEC_INFINITY) {
+ struct timespec tspec;
+ timespec_store(&tspec, ts);
- if (ts != USEC_INFINITY && futimens(pfd, (const struct timespec[2]) { { .tv_nsec = UTIME_OMIT }, tspec }) < 0)
- return -errno;
+ if (futimens(pfd, (const struct timespec[2]) { { .tv_nsec = UTIME_OMIT }, tspec }) < 0)
+ return -errno;
+ }
}
}