diff --git a/src/port.c b/src/port.c index f7591cf49421e2b1fa10f169f967d7427b3c0361..3f2e45e0ad4745be5fb0f8a6024b4d2f37ca9b78 100644 --- a/src/port.c +++ b/src/port.c @@ -184,8 +184,11 @@ void MEMMOVE(void *b,const void *aa,int s) { char *t=(char *)b; char *a=(char *)aa; - if(a>b) for(;s;s--) *(t++)=*(a++); - if(a<b) for(t+=s,a+=s;s;s--) *(--t)=*(--a); + if(a>t) + for(;s;s--) *(t++)=*(a++); + else + if(a<t) + for(t+=s,a+=s;s;s--) *(--t)=*(--a); } #endif