diff options
Diffstat (limited to 'lib/string.c')
| -rw-r--r-- | lib/string.c | 13 |
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; } |
