more thorough fix for systems with strange socklen_t
No binary (build failed)
—
(log yok)
| @@ -6,8 +6,10 @@ | |
| * Heavily modified by Manuel Novoa III Mar 12, 2001 | |
| * | |
| */ | |
| + | #ifndef INET_COMMON_H |
| + | #define INET_COMMON_H 1 |
| - | #include "platform.h" |
| + | PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN |
| /* hostfirst!=0 If we expect this to be a hostname, | |
| try hostname database first | |
| @@ -24,3 +26,7 @@ int INET6_resolve(const char *name, struct sockaddr_in6 *sin6) FAST_FUNC; | |
| /* These return malloced string */ | |
| char *INET_rresolve(struct sockaddr_in *s_in, int numeric, uint32_t netmask) FAST_FUNC; | |
| char *INET6_rresolve(struct sockaddr_in6 *sin6, int numeric) FAST_FUNC; | |
| + | |
| + | POP_SAVED_FUNCTION_VISIBILITY |
| + | |
| + | #endif |
| @@ -30,10 +30,6 @@ | |
| #include <sys/ioctl.h> | |
| #include <sys/mman.h> | |
| #include <sys/socket.h> | |
| - | #if defined __FreeBSD__ |
| - | # include <netinet/in.h> |
| - | # include <arpa/inet.h> |
| - | #endif |
| #include <sys/stat.h> | |
| #include <sys/time.h> | |
| #include <sys/types.h> | |
| @@ -44,39 +40,26 @@ | |
| /* Try to pull in PATH_MAX */ | |
| #include <limits.h> | |
| #include <sys/param.h> | |
| - | #ifndef PATH_MAX |
| - | # define PATH_MAX 256 |
| - | #endif |
| - | |
| - | #ifndef BUFSIZ |
| - | # define BUFSIZ 4096 |
| - | #endif |
| - | |
| #ifdef HAVE_MNTENT_H | |
| #include <mntent.h> | |
| #endif | |
| - | |
| #ifdef HAVE_SYS_STATFS_H | |
| #include <sys/statfs.h> | |
| #endif | |
| - | |
| #if ENABLE_SELINUX | |
| #include <selinux/selinux.h> | |
| #include <selinux/context.h> | |
| #include <selinux/flask.h> | |
| #include <selinux/av_permissions.h> | |
| #endif | |
| - | |
| #if ENABLE_LOCALE_SUPPORT | |
| # include <locale.h> | |
| #else | |
| # define setlocale(x,y) ((void)0) | |
| #endif | |
| - | |
| #ifdef DMALLOC | |
| # include <dmalloc.h> | |
| #endif | |
| - | |
| #include <pwd.h> | |
| #include <grp.h> | |
| #if ENABLE_FEATURE_SHADOWPASSWDS | |
| @@ -87,6 +70,23 @@ | |
| # include <shadow.h> | |
| # endif | |
| #endif | |
| + | #if defined __FreeBSD__ |
| + | # include <netinet/in.h> |
| + | # include <arpa/inet.h> |
| + | #elif defined __APPLE__ |
| + | # include <netinet/in.h> |
| + | #else |
| + | # include <arpa/inet.h> |
| + | # if !defined(__socklen_t_defined) && !defined(_SOCKLEN_T_DECLARED) |
| + | /* We #define socklen_t *after* includes, otherwise we get |
| + | * typedef redefinition errors from system headers |
| + | * (in case "is it defined already" detection above failed) |
| + | */ |
| + | # define socklen_t bb_socklen_t |
| + | typedef unsigned socklen_t; |
| + | # endif |
| + | #endif |
| + | |
| /* Some libc's forget to declare these, do it ourself */ | |
| @@ -121,6 +121,12 @@ struct sysinfo { | |
| char _f[20 - 2 * sizeof(long) - sizeof(int)]; /* Padding: libc5 uses this.. */ | |
| }; | |
| int sysinfo(struct sysinfo* info); | |
| + | #ifndef PATH_MAX |
| + | # define PATH_MAX 256 |
| + | #endif |
| + | #ifndef BUFSIZ |
| + | # define BUFSIZ 4096 |
| + | #endif |
| /* Make all declarations hidden (-fvisibility flag only affects definitions) */ | |
| @@ -210,18 +210,6 @@ | |
| } while (0) | |
| #endif | |
| - | /* ---- Networking ------------------------------------------ */ |
| - | |
| - | #ifndef __APPLE__ |
| - | # include <arpa/inet.h> |
| - | # if !defined(__socklen_t_defined) && !defined(_SOCKLEN_T_DECLARED) |
| - | # define socklen_t bb_socklen_t |
| - | typedef int socklen_t; |
| - | # endif |
| - | #else |
| - | # include <netinet/in.h> |
| - | #endif |
| - | |
| /* ---- Compiler dependent settings ------------------------- */ | |
| #if (defined __digital__ && defined __unix__) \ | |
| @@ -5,6 +5,8 @@ | |
| #ifndef UNICODE_H | |
| #define UNICODE_H 1 | |
| + | PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN |
| + | |
| enum { | |
| UNICODE_UNKNOWN = 0, | |
| UNICODE_OFF = 1, | |
| @@ -79,4 +81,6 @@ int iswpunct(wint_t wc) FAST_FUNC; | |
| #endif /* FEATURE_ASSUME_UNICODE */ | |
| + | POP_SAVED_FUNCTION_VISIBILITY |
| + | |
| #endif | |
| @@ -36,8 +36,8 @@ | |
| #include <sys/types.h> | |
| #include <netinet/if_ether.h> | |
| #endif | |
| - | #include "inet_common.h" |
| #include "libbb.h" | |
| + | #include "inet_common.h" |
| #if ENABLE_FEATURE_IFCONFIG_SLIP | |
| # include <net/if_slip.h> | |
| @@ -33,8 +33,8 @@ | |
| #include <net/if.h> | |
| #include <net/if_arp.h> | |
| - | #include "inet_common.h" |
| #include "libbb.h" | |
| + | #include "inet_common.h" |
| #if ENABLE_FEATURE_HWIB | |