void xorSwap(void *x, void *y, int len) { if (x != y) { for(; len-- > 0; x++; y++) { *(char*)x ^= *(char*)y; *(char*)y ^= *(char*)x; *(char*)x ^= *(char*)y; } } }