Mercurial > gnulib
changeset 39898:6b8c2cbdd8b0
renameatu: prefer renameat2 to syscall
* lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
Use renameat2 instead of syscall (Bug#32796).
* m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
author | Andreas Henriksson <andreas@fatal.se> |
---|---|
date | Sun, 07 Oct 2018 15:01:07 -0700 |
parents | ac60f423d63b |
children | f0d0013f13a7 |
files | ChangeLog lib/renameatu.c m4/renameat.m4 |
diffstat | 3 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Oct 07 18:20:44 2018 +0200 +++ b/ChangeLog Sun Oct 07 15:01:07 2018 -0700 @@ -1,3 +1,10 @@ +2018-10-07 Andreas Henriksson <andreas@fatal.se> (tiny change) + + renameatu: prefer renameat2 to syscall + * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]: + Use renameat2 instead of syscall (Bug#32796). + * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2. + 2018-10-07 Benno Schulenberg <bensberg@telfort.nl> bootstrap, gnulib-tool: use https instead of insecure rsync
--- a/lib/renameatu.c Sun Oct 07 18:20:44 2018 +0200 +++ b/lib/renameatu.c Sun Oct 07 15:01:07 2018 -0700 @@ -80,7 +80,10 @@ int ret_val = -1; int err = EINVAL; -#ifdef SYS_renameat2 +#ifdef HAVE_RENAMEAT2 + ret_val = renameat2 (fd1, src, fd2, dst, flags); + err = errno; +#elif defined SYS_renameat2 ret_val = syscall (SYS_renameat2, fd1, src, fd2, dst, flags); err = errno; #elif defined RENAME_EXCL
--- a/m4/renameat.m4 Sun Oct 07 18:20:44 2018 +0200 +++ b/m4/renameat.m4 Sun Oct 07 15:01:07 2018 -0700 @@ -15,7 +15,7 @@ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_HEADERS([linux/fs.h]) - AC_CHECK_FUNCS_ONCE([renameat]) + AC_CHECK_FUNCS_ONCE([renameat renameat2]) if test $ac_cv_func_renameat = no; then HAVE_RENAMEAT=0 elif test $REPLACE_RENAME = 1; then