[DVDnav-discuss] Fw: [xine-cvs] HG: xine-lib: Support Solaris byteorder.h macros.
Nico Sabbi
nicola_sabbi at fastwebnet.it
Thu Jun 14 22:45:18 CEST 2007
Diego 'Flameeyes' Pettenò wrote:
> Forwarding one more fix applied to xine-lib now.
>
>
> Begin forwarded message:
>
> Date: Wed, 13 Jun 2007 21:31:02 +0000
> From: Albert Lee <trisk+xine at acm.jhu.edu>
> To: xine-cvslog at lists.sourceforge.net
> Subject: [xine-cvs] HG: xine-lib: Support Solaris byteorder.h macros.
>
>
> # HG changeset patch
> # User Albert Lee <trisk+xine at acm.jhu.edu>
> # Date 1181770255 -7200
> # Node ID 5082f1f32e32cceb246490acae76317f22d0be44
> # Parent 1312dcc392d964d0892d6538b2bbec4d6600deac
> Support Solaris byteorder.h macros.
>
> diff -r 5082f1f32e32cceb246490acae76317f22d0be44 -r
> 1312dcc392d964d0892d6538b2bbec4d6600deac src/input/libdvdnav/bswap.h
> --- a/src/input/libdvdnav/bswap.h Wed Jun 13 23:30:55 2007 +0200
> +++ b/src/input/libdvdnav/bswap.h Wed Jun 13 23:30:46 2007 +0200
> @@ -41,6 +41,12 @@ #define B2N_32(x) x = bswap_32(x)
> #define B2N_64(x) x = bswap_64(x)
>
> +#elif defined(__SVR4) && defined(__sun)
> +#include <sys/byteorder.h>
> +#define B2N_16(x) x = BSWAP_16(x)
> +#define B2N_32(x) x = BSWAP_32(x)
> +#define B2N_64(x) x = BSWAP_64(x)
> +
> #elif defined(__APPLE__)
> #include <libkern/OSByteOrder.h>
> #define B2N_16(x) x = OSSwapBigToHostInt16(x)
> @@ -67,11 +73,11 @@
>
> /* This is a slow but portable implementation, it has multiple
> evaluation
> * problems so beware.
> - * Old FreeBSD's and Solaris don't have <byteswap.h> or any other such
> + * Old FreeBSD and Windows don't have <byteswap.h> or any other such
> * functionality!
> */
>
> -#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) ||
> defined(WIN32) || defined(__CYGWIN__) +#elif defined(__FreeBSD__) ||
> defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__) #define
> B2N_16(x) \ x = ((((x) & 0xff00) >> 8) | \
> (((x) & 0x00ff) << 8))
>
this last part of the patch doesn't convince me: should we remove the
fallback case where the macros are defined by ORs and SHIFTs?
Can you send a proper patch, please?
Nico
More information about the DVDnav-discuss
mailing list