diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2014-03-16 20:53:40 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2014-03-16 20:53:40 +0100 |
commit | c50493854a78b28b3642a402d1a0bbd57c1b3c1b (patch) | |
tree | 011b6068c3ec3b53c1df806a631cd2cda75bcc0f | |
parent | 9dbe4d054703ac96355c90bd7794d14d206e10c5 (diff) | |
download | busybox-w32-c50493854a78b28b3642a402d1a0bbd57c1b3c1b.tar.gz busybox-w32-c50493854a78b28b3642a402d1a0bbd57c1b3c1b.tar.bz2 busybox-w32-c50493854a78b28b3642a402d1a0bbd57c1b3c1b.zip |
libbb: fix a bad check for uclibc >= 0.9.31
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | libbb/xreadlink.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libbb/xreadlink.c b/libbb/xreadlink.c index bb63da08c..7d4cb60a5 100644 --- a/libbb/xreadlink.c +++ b/libbb/xreadlink.c | |||
@@ -1,14 +1,14 @@ | |||
1 | /* vi: set sw=4 ts=4: */ | 1 | /* vi: set sw=4 ts=4: */ |
2 | /* | 2 | /* |
3 | * xreadlink.c - safe implementation of readlink. | 3 | * xreadlink.c - safe implementation of readlink. |
4 | * Returns a NULL on failure... | 4 | * Returns a NULL on failure. |
5 | * | 5 | * |
6 | * Licensed under GPLv2, see file LICENSE in this source tree. | 6 | * Licensed under GPLv2, see file LICENSE in this source tree. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "libbb.h" | 9 | #include "libbb.h" |
10 | 10 | ||
11 | /* some systems (eg Hurd) does not have MAXSYMLINKS definition, | 11 | /* Some systems (eg Hurd) do not have MAXSYMLINKS definition, |
12 | * set it to some reasonable value if it isn't defined */ | 12 | * set it to some reasonable value if it isn't defined */ |
13 | #ifndef MAXSYMLINKS | 13 | #ifndef MAXSYMLINKS |
14 | # define MAXSYMLINKS 20 | 14 | # define MAXSYMLINKS 20 |
@@ -108,8 +108,11 @@ char* FAST_FUNC xmalloc_readlink_or_warn(const char *path) | |||
108 | 108 | ||
109 | char* FAST_FUNC xmalloc_realpath(const char *path) | 109 | char* FAST_FUNC xmalloc_realpath(const char *path) |
110 | { | 110 | { |
111 | #if defined(__GLIBC__) || \ | 111 | /* NB: uclibc also defines __GLIBC__ |
112 | (defined(__UCLIBC__) && UCLIBC_VERSION >= KERNEL_VERSION(0, 9, 31)) | 112 | * Therefore the test "if glibc, or uclibc >= 0.9.31" looks a bit weird: |
113 | */ | ||
114 | #if defined(__GLIBC__) && \ | ||
115 | (!defined(__UCLIBC__) || UCLIBC_VERSION >= KERNEL_VERSION(0, 9, 31)) | ||
113 | /* glibc provides a non-standard extension */ | 116 | /* glibc provides a non-standard extension */ |
114 | /* new: POSIX.1-2008 specifies this behavior as well */ | 117 | /* new: POSIX.1-2008 specifies this behavior as well */ |
115 | return realpath(path, NULL); | 118 | return realpath(path, NULL); |