From f25b3c3cb5fd1e00521b91d575da0177dbb44ddc Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Tue, 3 Mar 2026 13:53:47 +0100 Subject: implement memset --- libs/kstd/src/libc/string.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'libs/kstd/src') diff --git a/libs/kstd/src/libc/string.cpp b/libs/kstd/src/libc/string.cpp index 4e264f9..302046d 100644 --- a/libs/kstd/src/libc/string.cpp +++ b/libs/kstd/src/libc/string.cpp @@ -22,9 +22,16 @@ namespace kstd::libc return dest; } - auto strlen(char const * string) -> std::size_t + auto memset(void * dest, std::byte value, std::size_t size) -> void * { - return std::distance(string, std::ranges::find(string, nullptr, '\0')); + auto dest_span = std::span{static_cast(dest), size}; + + for (std::size_t i = 0; i < size; ++i) + { + dest_span[i] = value; + } + + return dest; } auto memcmp(void const * lhs, void const * rhs, std::size_t size) -> std::size_t @@ -62,4 +69,9 @@ namespace kstd::libc return dest; } + auto strlen(char const * string) -> std::size_t + { + return std::distance(string, std::ranges::find(string, nullptr, '\0')); + } + } // namespace kstd::libc \ No newline at end of file -- cgit v1.2.3