void *mempcpy(void *s1, const void *s2, size_t n);
mempcpy copies n characters from the object pointed to by s2 into the object pointed to by s1. The behavior of mempcpy is undefined if copying takes place between objects that overlap.
mempcpy returns a pointer to the byte following the last written byte.
This is an extension found in GNU libc.