mirror of
https://github.com/oxen-io/lokinet
synced 2023-12-14 06:53:00 +01:00
21 lines
295 B
C
21 lines
295 B
C
#include "swap.h"
|
|
|
|
void
|
|
swap(void *x, void *y, int bytes, int mask)
|
|
{
|
|
int i;
|
|
char xi, yi, c, t;
|
|
|
|
c = mask;
|
|
|
|
for(i = 0; i < bytes; ++i)
|
|
{
|
|
xi = i[(char *)x];
|
|
yi = i[(char *)y];
|
|
t = c & (xi ^ yi);
|
|
xi ^= t;
|
|
yi ^= t;
|
|
i[(char *)x] = xi;
|
|
i[(char *)y] = yi;
|
|
}
|
|
}
|