#include "internal.h" int memĀ·move(void *dst, uintptr len, void *src) { char *d, *s; if((long)len < 0) return 1; d=dst, s=src; if((s < d) && (s+len > d)) goto aliased; while(len-- > 0) *d++ = *s++; return 0; aliased: d+=len, s+=len; while(len-- > 0) *--d = *--s; return 0; }