Listing 3

/*
 * memcpy in C-.
 */
void *memcpy(void *s1, const void *s2, size_t n)
   {
   char *t1 = (char *)s1;
   const char *t2 = (const char *)s2;

   while (n-- > 0)
      *t1++ = *t2++;
   return s1;
   }