1 #include <common/unistd.h>
2 #include <common/glib.h>
3
4
swab(void * restrict src,void * restrict dest,ssize_t nbytes)5 void swab(void *restrict src, void *restrict dest, ssize_t nbytes)
6 {
7 unsigned char buf[32];
8 char *_src = src;
9 char *_dest = dest;
10 uint32_t transfer;
11 for (; nbytes > 0; nbytes -= transfer)
12 {
13 transfer = (nbytes > 32) ? 32 : nbytes;
14 memcpy(buf, _src, transfer);
15 memcpy(_src, _dest, transfer);
16 memcpy(_dest, buf, transfer);
17 _src += transfer;
18 _dest += transfer;
19 }
20 }