-#ifdef unix
-/* Stolen from libc.info but heavily modified, this is a wrapper
- around readlink() that allows for arbitrary filename length. */
-char *
-fn_readlink (const char *filename)
-{
- int size = 128;
-
- for (;;)
- {
- char *buffer = xmalloc (size);
- int nchars = readlink (filename, buffer, size);
- if (nchars == -1)
- {
- free (buffer);
- return NULL;
- }
-
- if (nchars < size - 1)
- {
- buffer[nchars] = 0;
- return buffer;
- }
- free (buffer);
- size *= 2;
- }
-}
-#else /* Not UNIX. */
+/* Returns the symbolic link value for FILENAME as a dynamically
+ allocated buffer, or a null pointer on failure. */