summaryrefslogtreecommitdiff
path: root/m4/renameat.m4
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-10-01 15:31:32 -0600
committerEric Blake <ebb9@byu.net>2009-10-02 06:30:26 -0600
commit98e6017bf555489ddc02f15cc5db9da04f08b2d7 (patch)
treef9f532e90ae2ce30d22a20ba48916bf8263477ca /m4/renameat.m4
parent1b6986bdbf9454a758ed2c24f8f7d91e34e6bc75 (diff)
downloadgnulib-98e6017bf555489ddc02f15cc5db9da04f08b2d7.tar.gz
renameat: fix Solaris bugs
renameat(fd,"file",fd,"name/") failed, just like rename. * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename needed fixing. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness. * modules/stdio (Makefile.am): Substitute it. * lib/stdio.in.h (renameat): Declare replacement. * lib/renameat.c (rpl_renameat): Implement fix. Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'm4/renameat.m4')
-rw-r--r--m4/renameat.m47
1 files changed, 6 insertions, 1 deletions
diff --git a/m4/renameat.m4 b/m4/renameat.m4
index bda7660c4c..6dc7ff31ab 100644
--- a/m4/renameat.m4
+++ b/m4/renameat.m4
@@ -1,4 +1,4 @@
-# serial 1
+# serial 2
# See if we need to provide renameat replacement.
dnl Copyright (C) 2009 Free Software Foundation, Inc.
@@ -19,5 +19,10 @@ AC_DEFUN([gl_FUNC_RENAMEAT],
HAVE_RENAMEAT=0
AC_LIBOBJ([renameat])
AC_LIBOBJ([at-func2])
+ elif test $REPLACE_RENAME = 1; then
+ dnl Solaris 9 and 10 have the same bugs in renameat as in rename.
+ REPLACE_RENAMEAT=1
+ AC_LIBOBJ([renameat])
+ AC_LIBOBJ([at-func2])
fi
])