|
|
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.