* lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
(SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
(malloc, realloc): Remove #undefs.
(areadlink, areadlinkat): Rewrite in terms of careadlinkat.
* modules/areadlink (Depends-on): Add careadlinkat. Remove
readlink, ssize_t, stdint, unistd.
* modules/areadlinkat (Depends-on): Add careadlinkat. Remove
areadlink, stdint.
careadlinkat: new module
* lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
* modules/careadlinkat: New files, written by me with
a review and feedback from Ben Pfaff in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
* modules/areadlinkat (Depends-on): Use readlinkat, not
symlinkat.
* modules/areadlinkat-with-size (Depends-on): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
* lib/at-func.c (FUNC_FAIL): New define.
(AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
* modules/areadlinkat: New module.
* lib/linkat.c (areadlinkat): Move...
* lib/areadlinkat.c (areadlinkat): ...to new file.
* lib/areadlink.h (areadlinkat): Declare it.
* modules/linkat (Depends-on): Add areadlinkat.
* MODULES.html.sh (File system functions): Mention it.
* modules/areadlinkat-tests: New test.
* tests/test-areadlinkat.c: New file.
Signed-off-by: Eric Blake <ebb9@byu.net>