@section @code{utimes}
@findex utimes
-POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/utimes.html}
+POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/utimes.html}
Gnulib module: ---
@itemize
@item
This function is missing on some platforms:
-mingw, Interix 3.5, BeOS.
+Minix 3.1.8, mingw, MSVC 9, Interix 3.5, BeOS.
@item
-This function is marked as ``legacy'' in POSIX. Better use @code{utime}
+The declaration of this function lacks @code{const} in the second argument
+on some platforms:
+OSF/1 5.1.
+@item
+On some platforms, this function mis-handles trailing slash:
+FreeBSD 7.2, Solaris 9.
+@item
+This function cannot set full timestamp resolution. In particular,
+some platforms incorrectly round rather than truncate. Use
+@code{utimensat(AT_FDCWD,file,times,0)}, or the gnulib module utimens,
instead.
+@item
+On some platforms, @code{utimes (file, NULL)} fails to set the
+file's timestamp to the current time:
+glibc 2.3.3.
+@item
+On some platforms, @code{utimes} failed on read-only files when
+@code{utime} worked fine.
+glibc 2.2.5.
@end itemize
+
+Extension: Gnulib provides a module @samp{utimens} that works around these
+problems and allows to set the time with nanosecond resolution (as far as
+supported by the file system).