memcpy.c 270 B

1234567891011121314151617
  1. /* $Id$ */
  2. char *
  3. memcpy(s1, s2, n)
  4. register char *s1, *s2;
  5. register int n;
  6. {
  7. /* Copy a block of data. */
  8. char *ret = s1;
  9. if (s2 <= s1 && s2 + (n-1) >= s1) {
  10. s1 += n; s2 += n;
  11. while (n-- > 0) *--s1 = *--s2;
  12. }
  13. else while (n-- > 0) *s1++ = *s2++;
  14. return ret;
  15. }