summaryrefslogtreecommitdiffstats
path: root/lib/string.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2026-10-16 16:42:22 -0400
committerJon Santmyer <jon@jonsantmyer.com>2026-10-16 16:42:22 -0400
commitd8aca3ff2501f9a77e22e5afb7a30380aed205af (patch)
treea27db1749a35aea07317406f170a2d9b2a799ce7 /lib/string.c
parent548506392b789f58b1556a6ffca917441e1d89fd (diff)
downloadjove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.gz
jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.tar.bz2
jove-kernel-d8aca3ff2501f9a77e22e5afb7a30380aed205af.zip
remove explicit framebuffer in kernel. reduce locking in syscalls
Diffstat (limited to 'lib/string.c')
-rw-r--r--lib/string.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/string.c b/lib/string.c
index 28436d5..f4d42fb 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -46,5 +46,16 @@ char *str_toupper(char *s, size_t n)
int strncmp(const char *s1, const char *s2, size_t n)
{
- return memcmp(s1, s2, n);
+ size_t i = 0;
+ for(; s1[i] && s2[i] && i < n; i++) {
+ int diff = s1[i] - s2[i];
+ if(diff) return diff;
+ }
+ return s1[i] - s2[i];
+}
+
+char *strncpy(size_t n, char *restrict s1, const char *restrict s2)
+{
+ for(size_t i = 0; s2[i] && i < n; i++) s1[i] = s2[i];
+ return s1;
}