diff --git a/configure b/configure index e2c4d8bf952..c42fe23aed0 100755 --- a/configure +++ b/configure @@ -16382,6 +16382,7 @@ fi + for ac_func in \ @@ -16405,6 +16406,7 @@ for ac_func in \ fstatvfs \ ftruncate \ futimes \ + futimesat \ getnetbyname \ getopt_long \ getpagesize \ diff --git a/configure.ac b/configure.ac index f6d908c8eee..2b257d12641 100644 --- a/configure.ac +++ b/configure.ac @@ -1143,6 +1143,7 @@ AC_CHECK_FUNCS(\ fstatvfs \ ftruncate \ futimes \ + futimesat \ getnetbyname \ getopt_long \ getpagesize \ diff --git a/include/config.h.in b/include/config.h.in index a4470675361..80548cceda4 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -158,6 +158,9 @@ /* Define to 1 if you have the `futimes' function. */ #undef HAVE_FUTIMES +/* Define to 1 if you have the `futimesat' function. */ +#undef HAVE_FUTIMESAT + /* Define to 1 if you have the `gethostbyname' function. */ #undef HAVE_GETHOSTBYNAME diff --git a/libs/port/futimes.c b/libs/port/futimes.c index f5d8f045527..00e2a55012b 100644 --- a/libs/port/futimes.c +++ b/libs/port/futimes.c @@ -43,6 +43,8 @@ int futimes(int fd, const struct timeval tv[2]) return utime( buffer, &ut ); } else return utime( buffer, NULL ); +#elif defined(HAVE_FUTIMESAT) + return futimesat( fd, NULL, tv ); #else errno = ENOSYS; return -1;