diff options
author | 2003-10-29 23:49:27 +0000 | |
---|---|---|
committer | 2003-10-29 23:49:27 +0000 | |
commit | bb439650bcc1ecbdd79d78e81d691e9ca056cc80 (patch) | |
tree | 56d21cf7f745fb0d8de67da035fab20e7fa3038f /media-plugins/xmms-cdread/files | |
parent | Initial import. (diff) | |
download | gentoo-2-bb439650bcc1ecbdd79d78e81d691e9ca056cc80.tar.gz gentoo-2-bb439650bcc1ecbdd79d78e81d691e9ca056cc80.tar.bz2 gentoo-2-bb439650bcc1ecbdd79d78e81d691e9ca056cc80.zip |
~ppc fix
Diffstat (limited to 'media-plugins/xmms-cdread/files')
-rw-r--r-- | media-plugins/xmms-cdread/files/endian.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/media-plugins/xmms-cdread/files/endian.patch b/media-plugins/xmms-cdread/files/endian.patch new file mode 100644 index 000000000000..68c2f2d7ae62 --- /dev/null +++ b/media-plugins/xmms-cdread/files/endian.patch @@ -0,0 +1,42 @@ +diff -Naur xmms-cdread-0.14a/filter.c xmms-cdread-0.14a-endian/filter.c +--- xmms-cdread-0.14a/filter.c 2001-04-09 19:33:13.000000000 +0100 ++++ xmms-cdread-0.14a-endian/filter.c 2003-10-17 22:57:34.000000000 +0100 +@@ -4,6 +4,7 @@ + #include <stdio.h> + #include <string.h> + #include <math.h> ++#include <endian.h> + + typedef double real; + +@@ -37,9 +38,16 @@ + int i, j, k; + sample *data = buf; + real ol, or; ++ char *p; + + if (!cd_eq_on) return; + ++#ifdef __BIG_ENDIAN ++ for (p = (char *)data; p < (char *)(data + len); p += 2) { ++ p[0] ^= p[1] ^= p[0] ^= p[1]; ++ } ++#endif ++ + for (i = 0; i < len; i++) { + ol = fc[0] * (real)data[i].l; + or = fc[0] * (real)data[i].r; +@@ -58,6 +66,13 @@ + data[i].l = (short)ol; + data[i].r = (short)or; + } ++ ++#ifdef __BIG_ENDIAN ++ for (p = (char *)data; p < (char *)(data + len); p += 2) { ++ p[0] ^= p[1] ^= p[0] ^= p[1]; ++ } ++#endif ++ + } + + #define PI 3.1415926535897932384626433832795029L |