diff --git a/src/lib/libc/include/string.h b/src/lib/libc/include/string.h index a508313..64e29e1 100755 --- a/src/lib/libc/include/string.h +++ b/src/lib/libc/include/string.h @@ -1,8 +1,12 @@ #ifndef _STRING_H #define _STRING_H +#include + extern void * memcpy(void *, const void *, size_t); extern void * memset(void *, int, size_t); extern int memcmp(const void *, const void *, size_t); +extern int strlen(const char *); + #endif diff --git a/src/lib/libc/string/Makefile b/src/lib/libc/string/Makefile index 00a45dc..8de6beb 100755 --- a/src/lib/libc/string/Makefile +++ b/src/lib/libc/string/Makefile @@ -15,7 +15,7 @@ REMOVE = rm -f #Objects -OBJS = memcpy.o memset.o memcmp.o +OBJS = memcpy.o memset.o memcmp.o strlen.o #Output OUTPUT = libc.so diff --git a/src/lib/libc/string/strlen.c b/src/lib/libc/string/strlen.c new file mode 100755 index 0000000..4febfa7 --- /dev/null +++ b/src/lib/libc/string/strlen.c @@ -0,0 +1,16 @@ +#include +#include + +int strlen(const char * string) +{ + int i = 0; + + while (1) + { + if (string[i] == '\0') + return i; + i++; + } + + return 0; +}