summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2004-11-03 23:15:44 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2004-11-03 23:15:44 +0000
commit4b738e2f5d0dab670180ffcefe802ea664967e19 (patch)
tree16b9d2ac64ab5df51c9f0a16d770acf5a0294ac7
parent90d6db1fbb0c6f091b0840f251974536da698640 (diff)
downloadcoreutils-4b738e2f5d0dab670180ffcefe802ea664967e19.tar.xz
Sync from gnulib.
-rw-r--r--lib/xreadlink.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/xreadlink.c b/lib/xreadlink.c
index c38e2d3aa..0f5e7d26f 100644
--- a/lib/xreadlink.c
+++ b/lib/xreadlink.c
@@ -66,7 +66,9 @@ xreadlink (char const *filename, size_t size)
ssize_t r = readlink (filename, buffer, buf_size);
size_t link_length = r;
- if (r < 0)
+ /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1
+ with errno == ERANGE if the buffer is too small. */
+ if (r < 0 && errno != ERANGE)
{
int saved_errno = errno;
free (buffer);