diff options
author | Jérémie Koenig | 2010-03-26 19:08:53 +0100 |
---|---|---|
committer | Denys Vlasenko | 2010-03-26 19:08:53 +0100 |
commit | fbedacfc8caa1ec8f14e664a881cb0a93c8f8712 (patch) | |
tree | 6c08780bbaad6320149930bdbcfbee5a2eed9f5d /libbb | |
parent | 35fdb1bc9cb82fa5630c2d40ae49110ecd7c88ea (diff) | |
download | busybox-fbedacfc8caa1ec8f14e664a881cb0a93c8f8712.zip busybox-fbedacfc8caa1ec8f14e664a881cb0a93c8f8712.tar.gz |
Hurd compat fixes. Mostly dealing with absent PATH_MAX
Signed-off-by: Jérémie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/safe_gethostname.c | 6 | ||||
-rw-r--r-- | libbb/xconnect.c | 10 | ||||
-rw-r--r-- | libbb/xreadlink.c | 6 |
3 files changed, 17 insertions, 5 deletions
diff --git a/libbb/safe_gethostname.c b/libbb/safe_gethostname.c index 7407fb7..e93254b 100644 --- a/libbb/safe_gethostname.c +++ b/libbb/safe_gethostname.c @@ -59,8 +59,12 @@ char* FAST_FUNC safe_gethostname(void) */ char* FAST_FUNC safe_getdomainname(void) { +/* The field domainname of struct utsname is Linux specific. */ +#if defined(__linux__) struct utsname uts; - uname(&uts); return xstrndup(!uts.domainname[0] ? "?" : uts.domainname, sizeof(uts.domainname)); +#else + return xstrdup("?"); +#endif } diff --git a/libbb/xconnect.c b/libbb/xconnect.c index 97751eb..d8c8d02 100644 --- a/libbb/xconnect.c +++ b/libbb/xconnect.c @@ -21,6 +21,8 @@ int FAST_FUNC setsockopt_broadcast(int fd) { return setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &const_int_1, sizeof(const_int_1)); } + +#ifdef SO_BINDTODEVICE int FAST_FUNC setsockopt_bindtodevice(int fd, const char *iface) { int r; @@ -36,6 +38,14 @@ int FAST_FUNC setsockopt_bindtodevice(int fd, const char *iface) bb_perror_msg("can't bind to interface %s", iface); return r; } +#else +int FAST_FUNC setsockopt_bindtodevice(int fd UNUSED_PARAM, + const char *iface UNUSED_PARAM) +{ + bb_error_msg("SO_BINDTODEVICE is not supported on this system"); + return -1; +} +#endif len_and_sockaddr* FAST_FUNC get_sock_lsa(int fd) { diff --git a/libbb/xreadlink.c b/libbb/xreadlink.c index 8d232f1..faa0e16 100644 --- a/libbb/xreadlink.c +++ b/libbb/xreadlink.c @@ -100,18 +100,16 @@ 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__) /* 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 |