summaryrefslogtreecommitdiff
path: root/src/xine-engine/input_cache.c
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-04-21 16:58:52 +0200
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-04-21 16:58:52 +0200
commitf53eb0c49bfbb53164c8e4507635435d6e0654fe (patch)
tree2e346094e139a8dfa869b2b4405ab2e785a18a63 /src/xine-engine/input_cache.c
parent8eaab6c32431f588378d25e6dbaa9252f7ad4887 (diff)
parent837894b153407936105bf5b358f235b6600bbd42 (diff)
downloadxine-lib-f53eb0c49bfbb53164c8e4507635435d6e0654fe.tar.gz
xine-lib-f53eb0c49bfbb53164c8e4507635435d6e0654fe.tar.bz2
Merge from 1.1 branch.
Diffstat (limited to 'src/xine-engine/input_cache.c')
-rw-r--r--src/xine-engine/input_cache.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/xine-engine/input_cache.c b/src/xine-engine/input_cache.c
index a566e1f84..75c4beb43 100644
--- a/src/xine-engine/input_cache.c
+++ b/src/xine-engine/input_cache.c
@@ -74,7 +74,11 @@ static off_t cache_plugin_read(input_plugin_t *this_gen, char *buf, off_t len) {
if (len <= (this->buf_len - this->buf_pos)) {
/* all bytes are in the buffer */
switch (len) {
-#if !(defined(sparc) || defined(__sparc__) || defined __ia64__)
+#if defined(__i386__) || defined(__x86_64__)
+ /* These are restricted to x86 and amd64. Some other architectures don't
+ * handle unaligned accesses in the same way, quite possibly requiring
+ * extra code over and above simple byte copies.
+ */
case 8:
*((uint64_t *)buf) = *(uint64_t *)(&(this->buf[this->buf_pos]));
break;