/***************************************************************************** name: memmove action: moves Count bytes from address Src to address Dst returns:Dst *****************************************************************************/ void *memmove(void *DstPtr, const void *SrcPtr, unsigned int Count) { void *RetVal=DstPtr; const char *Src=(const char *)SrcPtr; char *Dst=(char *)DstPtr; if(DstPtr < SrcPtr) /* copy up */ { for(; Count != 0; Count--) *Dst++=*Src++; } else /* copy down */ { Dst += (Count - 1); Src += (Count - 1); for(; Count != 0; Count--) *Dst--=*Src--; } return(RetVal); }