On Saturday 23 June 2007 02:09:18 C. Scott Ananian wrote: > > > diff -ruHpN -X dontdiff linux-2.6.22-rc5-orig/include/net/ip6_rdnss.h > > > linux-2.6.22-rc5/include/net/ip6_rdnss.h > > > --- linux-2.6.22-rc5-orig/include/net/ip6_rdnss.h1969-12-31 > > > 19:00:00.000000000 -0500 > > > +++ linux-2.6.22-rc5/include/net/ip6_rdnss.h2007-06-21 > > > 18:16:33.000000000 -0400 @@ -0,0 +1,58 @@ > > > +#ifndef _NET_IP6_RDNSS_H > > > +#define _NET_IP6_RDNSS_H > > > + > > > +#ifdef __KERNEL__ > > > + > > > +#include <linux/in6.h> > > > + > > > +struct nd_opt_rdnss { > > > +__u8type; > > > +__u8length; > > > +#if defined(__BIG_ENDIAN_BITFIELD) > > > +__u8priority:4, > > > +open:1, > > > +reserved1:3; > > > +#elif defined(__LITTLE_ENDIAN_BITFIELD) > > > +__u8reserved1:3, > > > +open:1, > > > +priority:4; > > > +#else > > > +# error not little or big endian > > > +#endif > > > > That is not endianess-safe. Don't use foo:x at all > > for stuff where a specific endianess is needed. The > > compiler doesn't make any guarantee about it. > > This was copied directly from include/net/ip6_route.h. I believe that > it does in fact work, and I (for one) find this much more readable > than the alternative. If it is in fact broken, then > include/net/ip6_route.h (and the 35 other files which use this #ifdef > in this manner) should be fixed.
Yeah, it might work. But I think the compiler doesn't guarantee you anything about it. -- Greetings Michael. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html