/* areadlink.c -- readlink wrapper to return the link name in malloc'd storage
Unlike xreadlink and xreadlink_with_size, don't ever call exit.
- Copyright (C) 2001, 2003-2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003-2007, 2009-2010 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
# define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
#endif
+/* Use the system functions, not the gnulib overrides in this file. */
+#undef malloc
+#undef realloc
+
/* The initial buffer size for the link value. A power of 2
detects arithmetic overflow earlier, but is not required. */
enum {
{
buffer = (char *) malloc (link_length);
if (buffer == NULL)
- /* errno is ENOMEM. */
- return NULL;
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' gnulib module. */
+ errno = ENOMEM;
+ return NULL;
+ }
memcpy (buffer, initial_buf, link_length);
}
else
}
buffer = (char *) malloc (buf_size);
if (buffer == NULL)
- /* errno is ENOMEM. */
- return NULL;
+ {
+ /* It's easier to set errno to ENOMEM than to rely on the
+ 'malloc-posix' gnulib module. */
+ errno = ENOMEM;
+ return NULL;
+ }
}
}