bond/x64/src/c/common/lib/mem.c
2015-09-02 17:37:15 -04:00

39 lines
774 B
C

#include "../sys/type.h"
#include "../sys/kdef.h"
#include "mem.h"
void NATIVE64 mem_copy(void *src, void *dst, uint64_t size)
{
if (src == NULL || dst == NULL)
return;
char* cSrc = (char*)src;
char* cDst = (char*)dst;
while (size--)
*(cDst++) = *(cSrc++);
return;
}
void NATIVE64 mem_set(void *src, int8_t const val, uint64_t size)
{
if (src == NULL)
return;
while (size--)
*((int8_t*)src++) = val;
return;
}
void NATIVE64 mem_move(void *src, void *dst, uint64_t size)
{
if (src == NULL || dst == NULL)
return;
if (src >= dst)
{
return mem_copy(src, dst, size);
}
src += size;
dst += size;
while (size--)
*((char*)--dst) = *((char*)--src);
return;
}