X-Git-Url: https://pd.if.org/git/?p=zos;a=blobdiff_plain;f=klib%2Fmemmove.c;fp=klib%2Fmemmove.c;h=b372945015061c75d5761b55a393f62ba7fa5be8;hp=0000000000000000000000000000000000000000;hb=5c0e560e481e2e97b793f7574e849a5882781df9;hpb=e57b692bd3a86ee40fd89416a06fd696f1ff3bf9 diff --git a/klib/memmove.c b/klib/memmove.c new file mode 100644 index 0000000..b372945 --- /dev/null +++ b/klib/memmove.c @@ -0,0 +1,18 @@ +#include + +void *memmove(void *s1, const void *s2, size_t n) { + char *dest = (char *)s1; + const char *src = (const char *)s2; + if (dest <= src) { + while (n--) { + *dest++ = *src++; + } + } else { + src += n; + dest += n; + while (n--) { + *--dest = *--src; + } + } + return s1; +}