libbb: move nuke_str() from passwd into libbb
[oweals/busybox.git] / libbb / xreadlink.c
index 8d232f16b69003a2fb173ea522c3b07dfd42fd20..0bdf394da278f71f78fa5d27c9cf494e1e9fd70a 100644 (file)
@@ -3,7 +3,7 @@
  * xreadlink.c - safe implementation of readlink.
  * Returns a NULL on failure...
  *
- * Licensed under GPLv2, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2, see file LICENSE in this source tree.
  */
 
 #include "libbb.h"
@@ -100,18 +100,17 @@ char* FAST_FUNC xmalloc_readlink_or_warn(const char *path)
        return buf;
 }
 
-/* UNUSED */
-#if 0
 char* FAST_FUNC xmalloc_realpath(const char *path)
 {
-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+#if defined(__GLIBC__) || \
+    (defined(__UCLIBC__) && UCLIBC_VERSION >= KERNEL_VERSION(0, 9, 31))
        /* glibc provides a non-standard extension */
+       /* new: POSIX.1-2008 specifies this behavior as well */
        return realpath(path, NULL);
 #else
        char buf[PATH_MAX+1];
 
-       /* on error returns NULL (xstrdup(NULL) ==NULL) */
+       /* on error returns NULL (xstrdup(NULL) == NULL) */
        return xstrdup(realpath(path, buf));
 #endif
 }
-#endif