4 void memset(void *s, int c, size_t n)
12 void *memcpy(void *dest, const void *src, size_t n)
15 const char *sptr = src;
23 void *memmove(void *dest, const void *src, size_t n)
38 dptr = (char*)dest + n - 1;
39 sptr = (char*)src + n - 1;
48 size_t strlen(const char *s)
55 char *strchr(const char *s, int c)
66 char *strrchr(const char *s, int c)
73 /* go back checking for c */
82 char *strstr(const char *str, const char *substr)
86 const char *s2 = substr;
88 while(*s1 && *s1 == *s2) {
100 int strcmp(const char *s1, const char *s2)
102 while(*s1 && *s1 == *s2) {
109 int strcasecmp(const char *s1, const char *s2)
111 while(*s1 && tolower(*s1) == tolower(*s2)) {
115 return tolower(*s1) - tolower(*s2);