From: Bruno Haible Date: Mon, 6 Jun 2011 09:01:52 +0000 (+0200) Subject: careadlinkat: Avoid mismatch between ssize_t and int. X-Git-Tag: stable/20110609~17 X-Git-Url: http://erislabs.net/gitweb/?p=gnulib.git;a=commitdiff_plain;h=0bd455aac988c3c19c3ef0a0c1cb94bf616e44ea careadlinkat: Avoid mismatch between ssize_t and int. * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always. * lib/careadlinkat.c (careadlinkatcwd): Define always. (cherry picked from commit 3f9fff25ea73b1a9b168d691d205d9fbb32f5d16) --- diff --git a/ChangeLog b/ChangeLog index f50db35c4..370295309 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-06-06 Bruno Haible + + 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-05 Bruno Haible ansi-c++-opt: Interoperability with libtool. diff --git a/lib/careadlinkat.c b/lib/careadlinkat.c index e2909c766..0b8f74ee7 100644 --- 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 @@ 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. diff --git a/lib/careadlinkat.h b/lib/careadlinkat.h index 4f0184bbc..6576fb2ce 100644 --- a/lib/careadlinkat.h +++ b/lib/careadlinkat.h @@ -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 , readlinkat in . */ -# define careadlinkatcwd readlinkat +/* AT_FDCWD is declared in . */ #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 */