1 // Copyright 2008-2009 Segher Boessenkool <segher@kernel.crashing.org>
2 // This code is licensed to you under the terms of the GNU GPL, version 2;
3 // see file COPYING or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
7 size_t strlen(const char *s)
11 for (len = 0; s[len]; len++)
17 size_t strnlen(const char *s, size_t count)
21 for (len = 0; s[len] && len < count; len++)
27 void *memset(void *b, int c, size_t len)
31 for (i = 0; i < len; i++)
32 ((unsigned char *)b)[i] = c;
37 void *memcpy(void *dst, const void *src, size_t len)
41 for (i = 0; i < len; i++)
42 ((unsigned char *)dst)[i] = ((unsigned char *)src)[i];
47 int memcmp(const void *b1, const void *b2, size_t len)
51 for (i = 0; i < len; i++) {
52 int diff = ((unsigned char *)b1)[i] - ((unsigned char *)b2)[i];