1  extern void abort (void);
       2  
       3  void *
       4  memcpy (void *dst, const void *src, __SIZE_TYPE__ n)
       5  {
       6    const char *srcp;
       7    char *dstp;
       8  
       9    srcp = src;
      10    dstp = dst;
      11  
      12    if (dst < src)
      13      {
      14        if (dst + n > src)
      15  	abort ();
      16      }
      17    else
      18      {
      19        if (src + n > dst)
      20  	abort ();
      21      }
      22  
      23    while (n-- != 0)
      24      *dstp++ = *srcp++;
      25  
      26    return dst;
      27  }