Files
tvost2 2a4ff20d3c cli: preserve sub-second mtime on the BSDs (fixes #1515)
HAVE_UTIMENSAT was only set when _POSIX_C_SOURCE >= 200809L or
_ATFILE_SOURCE was defined. FreeBSD, OpenBSD, NetBSD and DragonFly BSD
provide utimensat()/futimens() and nanosecond-resolution stat timestamps
by default without defining either macro, so the CLI fell back to utime()
and truncated the copied mtime to whole seconds (visible as .br files with
a .000000000 nanosecond field next to the source).

Detect those platforms explicitly. The existing non-Apple ATIME_NSEC /
MTIME_NSEC macros already use the st_atim / st_mtim spelling that the BSDs
expose, so no further change is needed.
2026-08-31 09:48:17 -03:00
..