|
|
1.1 root 1: /*
2: * Memory operations as defined in the 8th edition manual
3: * D .A. Kapilow 12/17/86
4: */
5:
6: char *memccpy(s1, s2, c, n)
7: register char *s1, *s2;
8: register int c, n;
9: {
10: register char cc = c;
11:
12: for (; n--; s1++, s2++)
13: if (cc == (*s1 = *s2))
14: return ++s1;
15: return (char *)0;
16: }
17:
18: char *memchr(s, c, n)
19: register char *s;
20: register c, n;
21: {
22: register char cc = c;
23:
24: for (; n--; s++)
25: if (*s == cc)
26: return s;
27: return (char *)0;
28: }
29:
30: int memcmp(s1, s2, n)
31: register char *s1, *s2;
32: register int n;
33: {
34: for (; n--; s1++, s2++)
35: if (*s1 != *s2)
36: return (*s1 - *s2);
37: return 0;
38: }
39:
40: char *memcpy(s1, s2, n)
41: register char *s1, *s2;
42: register int n;
43: {
44: char *r = s1;
45:
46: while(n--)
47: *s1++ = *s2++;
48: return r;
49: }
50:
51: char *memset(s, c, n)
52: register char *s;
53: register int c, n;
54: {
55: char *r = s;
56:
57: while (n--)
58: *s++ = c;
59: return r;
60: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.