mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
Added memmove(3).
This commit is contained in:
parent
a52200f4a7
commit
6c6e1091a1
2 changed files with 13 additions and 1 deletions
|
@ -36,6 +36,7 @@ __BEGIN_DECLS
|
|||
void* memchr(const void*, int, size_t);
|
||||
int memcmp(const void*, const void*, size_t);
|
||||
void* memcpy(void* restrict, const void* restrict, size_t);
|
||||
void* memmove(void*, const void*, size_t);
|
||||
void* memset(void*, int, size_t);
|
||||
char* stpcpy(char* restrict, const char* restrict);
|
||||
char* strcat(char* restrict, const char* restrict);
|
||||
|
@ -57,7 +58,6 @@ char* strtok_r(char* restrict, const char* restrict, char** restrict);
|
|||
/* TODO: These are not implemented in libmaxsi/sortix yet. */
|
||||
#if defined(__SORTIX_SHOW_UNIMPLEMENTED)
|
||||
void* memccpy(void* restrict, const void* restrict, int, size_t);
|
||||
void* memmove(void*, const void*, size_t);
|
||||
char* stpncpy(char* restrict, const char* restrict, size_t);
|
||||
int strcoll_l(const char*, const char*, locale_t);
|
||||
char* strerror_l(int, locale_t);
|
||||
|
|
|
@ -52,6 +52,18 @@ namespace Maxsi
|
|||
{
|
||||
return SysGetPageSize();
|
||||
}
|
||||
|
||||
// TODO: This is a hacky implementation!
|
||||
extern "C" void* memmove(void* _dest, const void* _src, size_t n)
|
||||
{
|
||||
uint8_t* dest = (uint8_t*) _dest;
|
||||
const uint8_t* src = (const uint8_t*) _src;
|
||||
uint8_t* tmp = new uint8_t[n];
|
||||
Memory::Copy(tmp, src, n);
|
||||
Memory::Copy(dest, tmp, n);
|
||||
delete[] tmp;
|
||||
return _dest;
|
||||
}
|
||||
#endif
|
||||
|
||||
DUAL_FUNCTION(void*, memcpy, Copy, (void* Dest, const void* Src, size_t Length))
|
||||
|
|
Loading…
Add table
Reference in a new issue