aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/kstd/kstd/libc/string.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/libs/kstd/kstd/libc/string.cpp b/libs/kstd/kstd/libc/string.cpp
index 986f63a6..bd4a4048 100644
--- a/libs/kstd/kstd/libc/string.cpp
+++ b/libs/kstd/kstd/libc/string.cpp
@@ -74,13 +74,9 @@ namespace kstd::libc
auto memchr(void const * buffer, int character, std::size_t size) noexcept -> void *
{
- auto as_char_ptr = reinterpret_cast<char const *>(buffer);
- auto found = kstd::char_traits<char>::find(as_char_ptr, size, static_cast<char>(character));
-
- if (found == as_char_ptr + size)
- {
- return nullptr;
- }
+ auto as_char_ptr = reinterpret_cast<unsigned char const *>(buffer);
+ auto as_char = static_cast<unsigned char>(character);
+ auto found = kstd::char_traits<unsigned char>::find(as_char_ptr, size, as_char);
return const_cast<void *>(static_cast<void const *>(found));
}