Explorar o código

I rewrote strcat without any function calls.

Eric Andersen %!s(int64=24) %!d(string=hai) anos
pai
achega
9c0d25bc67
Modificáronse 1 ficheiros con 9 adicións e 1 borrados
  1. 9 1
      libc/string/string.c

+ 9 - 1
libc/string/string.c

@@ -38,7 +38,15 @@ size_t strnlen (const char *string, size_t maxlen)
 #ifdef L_strcat
 char *strcat(char *dst, const char *src)
 {
-	strcpy(dst + strlen(dst), src);
+	register char *ptr = dst; 
+
+	while (*ptr)    
+		ptr++;
+
+	while (*src)
+		*ptr++ = *src++;
+	*ptr = '\0';
+
 	return dst;
 }
 #endif