utimes
======

POSIX specification:
 https://pubs.opengroup.org/onlinepubs/9699919799/functions/utimes.html

Gnulib module: ---

Portability problems fixed by Gnulib:

Portability problems not fixed by Gnulib:

  * This function is missing on some platforms: Minix 3.1.8, mingw, MSVC 14.

  * On some platforms, this function mis-handles a trailing slash: FreeBSD 7.2, Solaris 9.

  * This function cannot set full timestamp resolution.  In particular, some platforms incorrectly round rather than truncate.  Use utimensat(AT_FDCWD,file,times,0), or the gnulib module utimens, instead.

  * On some platforms, utimes (file, NULL) fails to set the file's timestamp to the current time: glibc 2.3.3.

  * On some platforms, utimes failed on read-only files when utime worked fine. glibc 2.2.5.

  * On OS/2, this function cannot set the timestamp to earlier than the year 1980 in local time.

  * On OS/2, this function cannot set the timestamp to an odd number of seconds.

  * On OS/2, this function does not work on an opened file.

Extension: Gnulib provides a module utimens that works around these problems and allows to set the time with nanosecond resolution (as far as supported by the file system).