mirror of
https://github.com/fluencelabs/musl
synced 2025-06-11 05:51:48 +00:00
to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict.
14 lines
230 B
C
14 lines
230 B
C
#include <unistd.h>
|
|
|
|
void swab(const void *restrict _src, void *restrict _dest, ssize_t n)
|
|
{
|
|
const char *src = _src;
|
|
char *dest = _dest;
|
|
for (; n>0; n-=2) {
|
|
dest[0] = src[1];
|
|
dest[1] = src[0];
|
|
dest += 2;
|
|
src += 2;
|
|
}
|
|
}
|