summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2003-10-29 23:49:27 +0000
committerLuca Barbato <lu_zero@gentoo.org>2003-10-29 23:49:27 +0000
commitbb439650bcc1ecbdd79d78e81d691e9ca056cc80 (patch)
tree56d21cf7f745fb0d8de67da035fab20e7fa3038f /media-plugins/xmms-cdread/files
parentInitial import. (diff)
downloadgentoo-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.patch42
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