# HG changeset patch # User Andreas Henriksson # Date 1538949667 25200 # Node ID 6b8c2cbdd8b0e563a0c0f28e036c94de66826655 # Parent ac60f423d63b30318457cf09e5f1d6a1c48aef65 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. diff -r ac60f423d63b -r 6b8c2cbdd8b0 ChangeLog --- 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 (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 bootstrap, gnulib-tool: use https instead of insecure rsync diff -r ac60f423d63b -r 6b8c2cbdd8b0 lib/renameatu.c --- 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 diff -r ac60f423d63b -r 6b8c2cbdd8b0 m4/renameat.m4 --- 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