XOR SWAP

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;
}
} 
}
Mero