c948f45bfaf93c1caf29cb9e6c8633e235cd4461
[reactos.git] / reactos / lib / crtdll / old cruft / stdlib / swab.c
1 /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
2 #include <msvcrt/stdlib.h>
3
4 /*
5 * @implemented
6 */
7 void _swab (const char* caFrom, char* caTo, size_t sizeToCopy)
8 {
9 unsigned long temp;
10
11 sizeToCopy >>= 1; sizeToCopy++;
12 #define STEP temp = *((const char *)caFrom)++,*((char *)caTo)++ = *((const char *)caFrom)++,*((char *)caTo)++ = temp
13 /* round to multiple of 8 */
14 while ((--sizeToCopy) & 07)
15 STEP;
16 sizeToCopy >>= 3;
17 while (--sizeToCopy >= 0) {
18 STEP; STEP; STEP; STEP;
19 STEP; STEP; STEP; STEP;
20 }
21 }