Rename bunch of variables.
[oota-llvm.git] / runtime / GCCLibraries / libc / string.c
index ac00ed40c33a24e8db1350ba81a388f0f550b646..bd43b3410098574fd9079b990c4e60a10a6b42ef 100644 (file)
@@ -5,33 +5,69 @@
 //===----------------------------------------------------------------------===//
 
 #include <stdlib.h>
-void *malloc(unsigned);
-void free(void *);
+#include <string.h>
 
-unsigned strlen(const char *Str) {
-  int Count = 0;
+#ifdef strlen
+#undef strlen
+#endif
+size_t strlen(const char *Str) {
+  size_t Count = 0;
   while (*Str) { ++Count; ++Str; }
   return Count;
 }
 
+#ifdef strdup
+#undef strdup
+#endif
 char *strdup(const char *str) {
-  int Len = strlen(str);
+  size_t Len = strlen(str);
   char *Result = (char*)malloc((Len+1)*sizeof(char));
   memcpy(Result, str, Len+1);
   return Result;
 }
 
+#ifdef strndup
+#undef strndup
+#endif
+char *strndup(const char *str, size_t n) {
+  size_t Len = strlen(str);
+  if (Len > n) Len = n;
+  char *Result = (char*)malloc((Len+1)*sizeof(char));
+  memcpy(Result, str, Len);
+  Result[Len] = 0;
+  return Result;
+}
+
+#ifdef strcpy
+#undef strcpy
+#endif
 char *strcpy(char *s1, const char *s2) {
+  char *dest = s1;
   while ((*s1++ = *s2++));
-  return s1;
+  return dest;
+}
+
+#ifdef strncpy
+#undef strncpy
+#endif
+char *strncpy(char *s1, const char *s2, size_t n) {
+  char *dest = s1;
+  while (n-- && (*s1++ = *s2++));
+  return dest;
 }
 
+#ifdef strcat
+#undef strcat
+#endif
 char *strcat(char *s1, const char *s2) {
   strcpy(s1+strlen(s1), s2);
   return s1;
 }
 
 
+#ifdef strcmp
+#undef strcmp
+#endif
 /* Compare S1 and S2, returning less than, equal to or
    greater than zero if S1 is lexicographically less than,
    equal to or greater than S2.  */
@@ -53,7 +89,7 @@ int strcmp (const char *p1, const char *p2) {
 }
 
 // http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/generic/?cvsroot=glibc
-
+#if 0
 typedef unsigned int op_t;
 #define OPSIZ 4
 
@@ -119,7 +155,11 @@ void *memset (void *dstpp, int c, size_t len) {
 
   return dstpp;
 }
+#endif
 
+#ifdef memcpy
+#undef memcpy
+#endif
 void *memcpy(void *dstpp, const void *srcpp, size_t len) {
   char *dstp = (char*)dstpp;
   char *srcp = (char*) srcpp;