changeset 14874:344b70fb76a2

careadlinkat: Avoid mismatch between ssize_t and int. * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always. * lib/careadlinkat.c (careadlinkatcwd): Define always.
author Bruno Haible <bruno@clisp.org>
date Mon, 06 Jun 2011 11:01:52 +0200
parents 722fb7942bc8
children 3b19d2cdc47f
files ChangeLog lib/careadlinkat.c lib/careadlinkat.h
diffstat 3 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-06  Bruno Haible  <bruno@clisp.org>
+
+	careadlinkat: Avoid mismatch between ssize_t and int.
+	* lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
+	* lib/careadlinkat.c (careadlinkatcwd): Define always.
+
 2011-06-06  Jim Meyering  <meyering@redhat.com>
 
 	gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
--- a/lib/careadlinkat.c
+++ b/lib/careadlinkat.c
@@ -39,7 +39,6 @@
 
 #include "allocator.h"
 
-#if ! HAVE_READLINKAT
 /* Get the symbolic link value of FILENAME and put it into BUFFER, with
    size BUFFER_SIZE.  This function acts like readlink  but has
    readlinkat's signature.  */
@@ -53,7 +52,6 @@
     abort ();
   return readlink (filename, buffer, buffer_size);
 }
-#endif
 
 /* Assuming the current directory is FD, get the symbolic link value
    of FILENAME as a null-terminated string and put it into a buffer.
--- a/lib/careadlinkat.h
+++ b/lib/careadlinkat.h
@@ -56,8 +56,7 @@
    when doing a plain readlink:
    Pass FD = AT_FDCWD and PREADLINKAT = careadlinkatcwd.  */
 #if HAVE_READLINKAT
-/* AT_FDCWD is declared in <fcntl.h>, readlinkat in <unistd.h>.  */
-# define careadlinkatcwd readlinkat
+/* AT_FDCWD is declared in <fcntl.h>.  */
 #else
 /* Define AT_FDCWD independently, so that the careadlinkat module does
    not depend on the fcntl-h module.  The value does not matter, since
@@ -66,8 +65,8 @@
 # ifndef AT_FDCWD
 #  define AT_FDCWD (-3041965)
 # endif
+#endif
 ssize_t careadlinkatcwd (int fd, char const *filename,
                          char *buffer, size_t buffer_size);
-#endif
 
 #endif /* _GL_CAREADLINKAT_H */