X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2Fstring.c;h=2ab271f5ff298082cce0c3ece062bb3bdfe1d398;hb=16452b14885a8046adef7ec4ca9b9083a9ba2818;hp=d8d08721f9def9f4fa2e613778288a1f0bfe99fa;hpb=f194730e75d6d3681e5f99a4efed1616fd1ea738;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/string.c b/Usermode/Libraries/libc.so_src/string.c index d8d08721..2ab271f5 100644 --- a/Usermode/Libraries/libc.so_src/string.c +++ b/Usermode/Libraries/libc.so_src/string.c @@ -100,6 +100,18 @@ EXPORT char *strcat(char *dst, const char *src) return dst; } +EXPORT char *strncat(char *dst, const char *src, size_t n) +{ + char *to = dst; + // Find the end + while(*to) to++; + // Copy + while(*src && n--) *to++ = *src++; + // End string + *to = '\0'; + return dst; +} + /** * \brief Get the length of a string */ @@ -188,13 +200,13 @@ EXPORT char *strrchr(const char *str, int character) * \fn EXPORT char *strstr(char *str1, const char *str2) * \brief Search a \a str1 for the first occurance of \a str2 */ -EXPORT char *strstr(char *str1, const char *str2) +EXPORT char *strstr(const char *str1, const char *str2) { const char *test = str2; for(;*str1;str1++) { - if(*test == '\0') return str1; + if(*test == '\0') return (char*)str1; if(*str1 == *test) test++; else test = str2; }