diff --git a/libc/Makefile b/libc/Makefile index d9d9942..597736e 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -41,6 +41,7 @@ string/memmove.o \ string/memset.o \ string/strlen.o \ string/strcmp.o \ +string/strcpy.o \ HOSTEDOBJS=\ $(ARCH_HOSTEDOBJS) \ diff --git a/libc/include/string.h b/libc/include/string.h index 260a525..0b442f8 100644 --- a/libc/include/string.h +++ b/libc/include/string.h @@ -15,6 +15,7 @@ void* memmove(void*, const void*, size_t); void* memset(void*, int, size_t); size_t strlen(const char*); int strcmp(const char *str1, const char *str2); +char *strcpy(char *dest, const char *src); #ifdef __cplusplus } diff --git a/libc/string/strcpy.c b/libc/string/strcpy.c new file mode 100644 index 0000000..14c6474 --- /dev/null +++ b/libc/string/strcpy.c @@ -0,0 +1,10 @@ +#include "string.h" + +char *strcpy(char *dest, const char *src) { + size_t i; + for (i = 0; i < strlen(src) && src[i] != '\0'; i++) + dest[i] = src[i]; + dest[i] = '\0'; + return dest; +} +