about summary refs log tree commit diff
path: root/src/engine/system.c
diff options
context:
space:
mode:
authorJoel de Vahl <joel@stalverk80.se>2007-09-25 19:48:52 +0000
committerJoel de Vahl <joel@stalverk80.se>2007-09-25 19:48:52 +0000
commitaca6dd808b19072b653ce81384490c8b08edbedd (patch)
tree804fc5f8e5e554f4065fd063f4d3f587b6c20b5d /src/engine/system.c
parent06c341be51a75fd8a24f2441654e184fd3fdefcd (diff)
downloadzcatch-aca6dd808b19072b653ce81384490c8b08edbedd.tar.gz
zcatch-aca6dd808b19072b653ce81384490c8b08edbedd.zip
new mixer and ppc fixes
Diffstat (limited to 'src/engine/system.c')
-rw-r--r--src/engine/system.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/engine/system.c b/src/engine/system.c
index 6226d4d2..45c648ab 100644
--- a/src/engine/system.c
+++ b/src/engine/system.c
@@ -567,3 +567,29 @@ int fs_listdir(const char *dir, fs_listdir_callback cb, void *user)
 	return 0;
 #endif
 }
+
+void swap_endian(void *data, unsigned elem_size, unsigned num)
+{
+	char *src = (char*) data;
+	char *dst = src + (elem_size - 1);
+
+	while(num)
+	{
+		unsigned n = elem_size>>1;
+		char tmp;
+		while(n)
+		{
+			tmp = *src;
+			*src = *dst;
+			*dst = tmp;
+
+			src++;
+			dst--;
+			n--;
+		}
+
+		src = src + (elem_size>>1);
+		dst = src + (elem_size - 1);
+		num--;
+	}
+}