diff options
Diffstat (limited to 'libk/stdlib/memory.cc')
-rw-r--r-- | libk/stdlib/memory.cc | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/libk/stdlib/memory.cc b/libk/stdlib/memory.cc deleted file mode 100644 index b5c8f6d..0000000 --- a/libk/stdlib/memory.cc +++ /dev/null @@ -1,42 +0,0 @@ -#include <stdlib.h> - -extern "C" void __cxa_pure_virtual() { - printk("__cxa_pure_virtual\n"); - abort(); -} - -extern "C" void* memcpy(void* dstptr, const void* srcptr, const size_t n) { - auto* dst = static_cast<uint8_t*>(dstptr); - const auto* src = static_cast<const uint8_t*>(srcptr); - for (size_t i = 0; i < n; ++i) dst[i] = src[i]; - return dstptr; -} - -extern "C" void* memset(void* bufptr, const int value, const size_t n) { - auto* buf = static_cast<uint8_t*>(bufptr); - for (size_t i = 0; i < n; ++i) buf[i] = static_cast<uint8_t>(value); - return bufptr; -} - -extern "C" void* memmove(void* dstptr, const void* srcptr, const size_t n) { - auto* dst = static_cast<uint8_t*>(dstptr); - const auto* src = static_cast<const uint8_t*>(srcptr); - if (dst < src) { - for (size_t i = 0; i < n; ++i) dst[i] = src[i]; - } else { - for (size_t i = n; i != 0; i--) dst[i - 1] = src[i - 1]; - } - return dstptr; -} - -extern "C" int memcmp(const void* aptr, const void* bptr, const size_t n) { - const auto* a = static_cast<const uint8_t*>(aptr); - const auto* b = static_cast<const uint8_t*>(bptr); - for (size_t i = 0; i < n; ++i) { - if (a[i] < b[i]) - return -1; - else if (b[i] < a[i]) - return 1; - } - return 0; -} |