careadlinkat: Avoid mismatch between ssize_t and int.
authorBruno Haible <bruno@clisp.org>
Mon, 6 Jun 2011 09:01:52 +0000 (11:01 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 6 Jun 2011 09:06:47 +0000 (11:06 +0200)
* lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
* lib/careadlinkat.c (careadlinkatcwd): Define always.

ChangeLog
lib/careadlinkat.c
lib/careadlinkat.h

index 57d8da4e2ee7130fbb9fab2955ed818a00d65947..36d9c4852df78e2cedb68c743343225e72cab208 100644 (file)
--- 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
index 6e4aa1395ff06057f4352865248b688d65dc6ccf..751578b9a58fc6f46894cbbef3237d716f1c347b 100644 (file)
@@ -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 @@ careadlinkatcwd (int fd, char const *filename, char *buffer,
     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.
index 4f0184bbc333796fccd507aaf0364d8bb2856921..6576fb2cecc98f89f5789c65a2ff069d2a369ddd 100644 (file)
@@ -56,8 +56,7 @@ char *careadlinkat (int fd, char const *filename,
    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 @@ char *careadlinkat (int fd, char const *filename,
 # 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 */