Am 27.05.2012 18:32, schrieb Andreas Färber: > Darwin has HTON*/NTOH* macros that on BE simply return the argument. > This is incompatible with SLIRP's use of these macros as a statement. > > Special-case Darwin in the HOST_WORDS_BIGENDIAN code path to redefine > these macros as no-op statement to avoid tons of compiler warnings. > > Signed-off-by: Andreas Färber <andreas.faer...@web.de> > --- > slirp/ip.h | 33 ++++++++++++++++++++++----------- > 1 files changed, 22 insertions(+), 11 deletions(-) > > diff --git a/slirp/ip.h b/slirp/ip.h > index 88c903f..6e98b1d 100644 > --- a/slirp/ip.h > +++ b/slirp/ip.h > @@ -34,17 +34,28 @@ > #define _IP_H_ > > #ifdef HOST_WORDS_BIGENDIAN > -# ifndef NTOHL > -# define NTOHL(d) > -# endif > -# ifndef NTOHS > -# define NTOHS(d) > -# endif > -# ifndef HTONL > -# define HTONL(d) > -# endif > -# ifndef HTONS > -# define HTONS(d) > +# if defined(__APPLE__) > +# undef NTOHL > +# undef NTOHS > +# undef HTONL > +# undef HTONS > +# define NTOHL(d) do { } while (0) > +# define NTOHS(d) do { } while (0) > +# define HTONL(d) do { } while (0) > +# define HTONS(d) do { } while (0) > +# else > +# ifndef NTOHL > +# define NTOHL(d) > +# endif > +# ifndef NTOHS > +# define NTOHS(d) > +# endif > +# ifndef HTONL > +# define HTONL(d) > +# endif > +# ifndef HTONS > +# define HTONS(d) > +# endif
Ahem, these would have the same issue. v2 coming up. Andreas > # endif > #else > # ifndef NTOHL -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg