xref: /reactos/sdk/lib/cryptlib/util.c (revision 4561998a)
1 
2 
3 #if !defined(_MSC_VER) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
4 #include <stdlib.h>
5 #include <intrin.h>
6 
7 void
8 byteReverse(unsigned char *buf, unsigned longs)
9 {
10     unsigned int t;
11 
12     do
13     {
14 #if 0
15         t = (unsigned int)((unsigned)buf[3] << 8 | buf[2]) << 16 |
16             ((unsigned)buf[1] << 8 | buf[0]);
17 #else
18         t = _byteswap_ulong(*(unsigned int *)buf);
19 #endif
20         *(unsigned int *)buf = t;
21         buf += 4;
22     } while (--longs);
23 }
24 
25 #endif // !defined(_MSC_VER) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
26 
27