home *** CD-ROM | disk | FTP | other *** search
- /*
- omemmove.c
-
- % 'oakland' backup memmove function.
-
- OWL 1.1
- Copyright (c) 1989 by Oakland Group, Inc.
- ALL RIGHTS RESERVED.
-
- Revision History:
- -----------------
- 7/26/89 jmd Added test for 0 cnt
- */
-
- #include "oakhead.h"
-
- /* -------------------------------------------------------------------------- */
-
- VOID *omemmove(dst, src, cnt)
- VOID *dst;
- VOID *src;
- SIZE_T cnt;
- {
- byte *s, *d;
-
- s = (byte *) src;
- d = (byte *) dst;
-
- if (cnt > 0) {
-
- if (d > s) { /* copy tail first */
- s += cnt - 1;
- d += cnt - 1;
- do {
- *d-- = *s--;
- cnt--;
- } while (cnt > 0);
- }
- else { /* copy head first */
- do {
- *d++ = *s++;
- cnt--;
- } while (cnt > 0);
- }
- }
-
- return(src);
- }
- /* -------------------------------------------------------------------------- */
-
-