|
|
1.1 root 1: /*
2: * Copyright (c) 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * This code is derived from software contributed to Berkeley by
6: * Jeffrey Mogul.
7: *
8: * Redistribution and use in source and binary forms are permitted provided
9: * that: (1) source distributions retain this entire copyright notice and
10: * comment, and (2) distributions including binaries display the following
11: * acknowledgement: ``This product includes software developed by the
12: * University of California, Berkeley and its contributors'' in the
13: * documentation or other materials provided with the distribution and in
14: * all advertising materials mentioning features or use of this software.
15: * Neither the name of the University nor the names of its contributors may
16: * be used to endorse or promote products derived from this software without
17: * specific prior written permission.
18: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
19: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
20: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21: */
22:
23: #if defined(LIBC_SCCS) && !defined(lint)
24: static char sccsid[] = "@(#)swab.c 5.8 (Berkeley) 6/27/90";
25: #endif /* LIBC_SCCS and not lint */
26:
27: #include <string.h>
28:
29: void
30: swab(from, to, n)
31: register char *from, *to;
32: register int n;
33: {
34: register unsigned long temp;
35:
36: n >>= 1; n++;
37: #define STEP temp = *from++,*to++ = *from++,*to++ = temp
38: /* round to multiple of 8 */
39: while ((--n) & 07)
40: STEP;
41: n >>= 3;
42: while (--n >= 0) {
43: STEP; STEP; STEP; STEP;
44: STEP; STEP; STEP; STEP;
45: }
46: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.