Forráskód Böngészése

Cleanup the mess, remove now obsolete files
-Erik

Eric Andersen 22 éve
szülő
commit
fd6b9378be

+ 0 - 8
libc/string/Makefile

@@ -38,17 +38,9 @@ MOBJW2= wcscasecmp.o wcscat.o wcschrnul.o wcschr.o wcscmp.o wcscpy.o wcscspn.o \
 	wcsnlen.o wcspbrk.o wcsrchr.o wcsspn.o wcsstr.o wcstok.o wmemchr.o \
 	wmemcmp.o wmemcpy.o wmemmove.o wmempcpy.o wmemset.o
 
-# ifeq ($(HAS_LOCALE),true)
-# 	MOBJ += strcoll.o
-# endif
-
 MSRC1=strsignal.c
 MOBJ1=strsignal.o psignal.o
 
-MOBJ2=
-#MSRC2=strstr.c
-#MOBJ2=strstr.o strcasestr.o
-
 # CSRC=strpbrk.c strsep.c strtok.c strtok_r.c strcspn.c \
 # 	strspn.c strcasecmp.c strncasecmp.c strerror.c bcopy.c bzero.c \
 # 	bcmp.c sys_errlist.c dirname.c basename.c

+ 0 - 26
libc/string/basename.c

@@ -1,26 +0,0 @@
-/* Return the name-within-directory of a file name.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <string.h>
-
-char * basename(const char *filename)
-{
-    char *p = strrchr (filename, '/');
-    return p ? p + 1 : (char *) filename;
-}

+ 0 - 13
libc/string/bcmp.c

@@ -1,13 +0,0 @@
-/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
- * This file is part of the Linux-8086 C library and is distributed
- * under the GNU Library General Public License.
- */
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-
-int bcmp(const __ptr_t dest, const __ptr_t src, size_t len)
-{
-	return memcmp(dest, src, len);
-}
-

+ 0 - 15
libc/string/bcopy.c

@@ -1,15 +0,0 @@
-/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
- * This file is part of the Linux-8086 C library and is distributed
- * under the GNU Library General Public License.
- */
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-
-void bcopy(const __ptr_t src, __ptr_t dest, size_t len)
-{
-/*   (void) memcpy(dest, src, len); */
-	while (len--)
-		*(char *) (dest++) = *(char *) (src++);
-}
-

+ 0 - 15
libc/string/bzero.c

@@ -1,15 +0,0 @@
-/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
- * This file is part of the Linux-8086 C library and is distributed
- * under the GNU Library General Public License.
- */
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-
-void bzero(__ptr_t dest, size_t len)
-{
-	/* (void) memset(dest, '\0', len); */
-	while (len--)
-		*(char *) (dest++) = '\0';
-}
-

+ 0 - 55
libc/string/dirname.c

@@ -1,55 +0,0 @@
-/* dirname - return directory part of PATH.
-   Copyright (C) 1996, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#define __USE_GNU
-#include <libgen.h>
-#include <string.h>
-
-
-char * dirname(char *path)
-{
-    static const char dot[] = ".";
-    char *last_slash;
-
-    /* Find last '/'.  */
-    last_slash = path != NULL ? strrchr (path, '/') : NULL;
-
-    if (last_slash != NULL && last_slash != path && last_slash[1] == '\0')
-	/* The '/' is the last character, we have to look further.  */
-	last_slash = memrchr (path, '/', last_slash - path);
-
-    if (last_slash != NULL)
-    {
-	/* Terminate the path.  */
-	if (last_slash == path)
-	    /* The last slash is the first character in the string.  We have to
-	       return "/".  */
-	    ++last_slash;
-
-	last_slash[0] = '\0';
-    }
-    else
-	/* This assignment is ill-designed but the XPG specs require to
-	   return a string containing "." in any case no directory part is
-	   found and so a static and constant string is required.  */
-	path = (char *) dot;
-
-    return path;
-}

+ 0 - 35
libc/string/strcasecmp.c

@@ -1,35 +0,0 @@
-/* 
- * strcasecmp for uClibc
- * Copyright (C) 2002 by Brian Stafford <brian@stafford.uklinux.net>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Library General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <string.h>
-#include <ctype.h>
-
-int strcasecmp (const char *a, const char *b)
-{
-    register int n;
-
-    while (*a == *b || (n = tolower (*a) - tolower (*b)) == 0)
-    {
-	if (*a == '\0')
-	    return 0;
-	a++, b++;
-    }
-    return n;
-}
-

+ 0 - 38
libc/string/strcspn.c

@@ -1,38 +0,0 @@
-/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <string.h>
-
-/* Return the length of the maximum initial segment of S
-   which contains no characters from REJECT.  */
-size_t strcspn( const char *s, const char *reject)
-{
-    register const char *scan1;
-    register const char *scan2;
-    size_t count;
-
-    count = 0;
-    for (scan1 = s; *scan1 != '\0'; scan1++) {
-	for (scan2 = reject; *scan2 != '\0';)       /* ++ moved down. */
-	    if (*scan1 == *scan2++)
-		return(count);
-	count++;
-    }
-    return(count);
-}
-

+ 0 - 465
libc/string/string.c

@@ -1,465 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
- * This file is part of the Linux-8086 C library and is distributed
- * under the GNU Library General Public License.
- *
- * Many of the functions in this file have been rewritten for correctness
- * (but not necessarily speed) by Erik Andersen <andersee@debian.org>
- */
-
-#include <string.h>
-#include <malloc.h>
-
-/********************** Function strlen ************************************/
-
-#ifdef L_strlen
-size_t strlen(const char *str)
-{
-	register char *ptr = (char *) str;
-
-	while (*ptr)
-		ptr++;
-	return (ptr - str);
-}
-#endif
-
-/********************** Function strnlen ************************************/
-
-#ifdef L_strnlen
-size_t strnlen (const char *string, size_t maxlen)
-{
-	const char *end = memchr (string, '\0', maxlen);
-	return end ? end - string : maxlen;
-}
-#endif
-
-/********************** Function strcat ************************************/
-
-#ifdef L_strcat
-char *strcat(char *dst, const char *src)
-{
-	register char *ptr = dst; 
-
-	while (*ptr)    
-		ptr++;
-
-	while (*src)
-		*ptr++ = *src++;
-	*ptr = '\0';
-
-	return dst;
-}
-#endif
-
-/********************** Function strcpy ************************************/
-
-#ifdef L_strcpy
-char *strcpy(char *dst, const char *src)
-{
-	register char *ptr = dst;
-
-	while (*src)
-		*dst++ = *src++;
-	*dst = '\0';
-
-	return ptr;
-}
-#endif
-
-/********************** Function stpcpy ************************************/
-
-#ifdef L_stpcpy
-char *stpcpy(char *dst, const char *src)
-{
-	while (*src)
-		*dst++ = *src++;
-	*dst = '\0';
-
-	return dst;
-}
-#endif
-
-/********************** Function stpncpy ************************************/
-
-#ifdef L_stpncpy
-char *stpncpy(register char * __restrict s1, 
-		register const char * __restrict s2, size_t n)
-{
-	char *s = s1;
-	const char *p = s2;
-
-	while (n) {
-		if ((*s = *s2) != 0) s2++; /* Need to fill tail with 0s. */
-		++s;
-		--n;
-	}
-	return s1 + (s2 - p);
-}
-#endif
-
-
-/********************** Function strcmp ************************************/
-
-#ifdef L_strcmp
-int strcmp(const char *s1, const char *s2)
-{
-	unsigned register char c1, c2;
-
-	do {
-		c1 = (unsigned char) *s1++;
-		c2 = (unsigned char) *s2++;
-		if (c1 == '\0')
-			return c1 - c2;
-	}
-	while (c1 == c2);
-
-	return c1 - c2;
-}
-
-#ifndef __UCLIBC_HAS_LOCALE__
-weak_alias(strcmp, strcoll);
-#endif /* __UCLIBC_HAS_LOCALE__ */
-#endif
-
-/***** Function strcoll (locale only, as non-locale is alias of strcmp *****/
-
-#ifdef L_strcoll
-#ifdef __UCLIBC_HAS_LOCALE__
-
-#include "../misc/locale/_locale.h"
-
-const unsigned char *_uc_collate_b;  /* NULL for no collate, strcoll->strcmp */
-
-int strcoll(const char *s1, const char *s2)
-{
-	unsigned char c1, c2;
-
-	while(1) {
-		c1 = (unsigned char) *s1;
-		c2 = (unsigned char) *s2;
-		if(_uc_collate_b) {     /* setuped non-C locale? */
-			c1 = _uc_collate_b[c1];
-			c2 = _uc_collate_b[c2];
-		}
-		if (*s1 == '\0' || c1 != c2)
-			return c1 - c2;
-		s1++;
-		s2++;
-	}
-}
-#endif /* __UCLIBC_HAS_LOCALE__ */
-#endif
-
-/********************** Function strncat ************************************/
-
-#ifdef L_strncat
-char *strncat(char *dst, const char *src, size_t len)
-{
-	register char *s1 = dst + strlen(dst), *s2;
-
-	s2 = memchr(src, 0, len);
-	if (s2) {
-		memcpy(s1, src, s2 - src + 1);
-	} else {
-		memcpy(s1, src, len);
-		s1[len] = '\0';
-	}
-	return dst;
-}
-#endif
-
-/********************** Function strncpy ************************************/
-
-#ifdef L_strncpy
-char *strncpy(char *dst, const char *src, size_t len)
-{
-	char *ptr = dst;
-
-	while (len--) {
-		if (*src)
-			*dst++ = *src++;
-		else
-			*dst++ = '\0';
-	}
-
-	return ptr;
-}
-#endif
-
-#ifdef L_strxfrm
-size_t strxfrm(char *dst, const char *src, size_t len)
-{
-	size_t length;
-	strncpy( dst, src, len);
-	length = strlen(src);
-	if (length<len)
-		return(length);
-	return( len);
-}
-#endif	
-
-/********************** Function strncmp ************************************/
-
-#ifdef L_strncmp
-int strncmp(const char *s1, const char *s2, size_t len)
-{
-	unsigned register char c1 = '\0';
-	unsigned register char c2 = '\0';
-
-	while (len > 0) {
-		c1 = (unsigned char) *s1++;
-		c2 = (unsigned char) *s2++;
-		if (c1 == '\0' || c1 != c2)
-			return c1 - c2;
-		len--;
-	}
-
-	return c1 - c2;
-}
-#endif
-
-/********************** Function strchr ************************************/
-
-#ifdef L_strchr
-char *strchr(const char *str, int c)
-{
-	register char ch;
-
-	do {
-		if ((ch = *str) == c)
-			return (char *) str;
-		str++;
-	}
-	while (ch);
-
-	return 0;
-}
-
-weak_alias(strchr, index);
-#endif
-
-/********************** Function strrchr ************************************/
-
-#ifdef L_strrchr
-
-char *strrchr(const char *str, int c)
-{
-	register char *prev = 0;
-	register char *ptr = (char *) str;
-
-	while (*ptr != '\0') {
-		if (*ptr == c)
-			prev = ptr;
-		ptr++;
-	}
-	if (c == '\0')
-		return(ptr);
-	return(prev);
-}
-
-weak_alias(strrchr, rindex);
-#endif
-
-/********************** Function strdup ************************************/
-
-#ifdef L_strdup
-char *strdup(const char *str)
-{
-	register size_t len;
-	register char *dst;
-
-	len = strlen(str) + 1;
-	dst = (char *) malloc(len);
-	if (dst)
-		memcpy(dst, str, len);
-	return dst;
-}
-#endif
-
-/********************** Function strndup ************************************/
-#ifdef L_strndup
-char *strndup(const char *str, size_t len)
-{
-	register size_t n;
-	register char *dst;
-
-	n = strlen(str);
-	if (len < n)
-		n = len;
-	dst = (char *) malloc(n+1);
-	if (dst) {
-		memcpy(dst, str, n);
-		dst[n] = '\0';
-	}
-	return dst;
-}
-#endif
-
-/********************** Function memcpy ************************************/
-
-#ifdef L_memcpy
-void *memcpy(void *dst, const void *src, size_t len)
-{
-	register char *a = dst;
-	register const char *b = src;
-
-	while (len--)
-		*a++ = *b++;
-
-	return dst;
-}
-#endif
-
-/********************** Function mempcpy ************************************/
-
-#ifdef L_mempcpy
-void *mempcpy(void *dst, const void *src, size_t len)
-{
-	register char *a = dst;
-	register const char *b = src;
-
-	while (len--)
-		*a++ = *b++;
-
-	return (void *) a;
-}
-weak_alias(mempcpy, __mempcpy);
-#endif
-
-/********************** Function memccpy ************************************/
-
-#ifdef L_memccpy
-void *memccpy(void *dst, const void *src, int c, size_t len)
-{
-	register char *a = dst;
-	register const char *b = src;
-
-	while (len--) {
-		if ((*a++ = *b++) == c)
-			return a;
-	}
-
-	return 0;
-}
-#endif
-
-/********************** Function memset ************************************/
-
-#ifdef L_memset
-void *memset(void *str, int c, size_t len)
-{
-	register char *a = str;
-
-	while (len--)
-		*a++ = c;
-
-	return str;
-}
-#endif
-
-/********************** Function memmove ************************************/
-
-#ifdef L_memmove
-void *memmove(void *dst, const void *src, size_t len)
-{
-	register char *s1 = dst, *s2 = (char *) src;
-
-	/* This bit of sneakyness c/o Glibc, it assumes the test is unsigned */
-	if (s1 - s2 >= len)
-		return memcpy(dst, src, len);
-
-	/* This reverse copy only used if we absolutly have to */
-	s1 += len;
-	s2 += len;
-	while (len-- > 0)
-		*(--s1) = *(--s2);
-	return dst;
-}
-#endif
-
-/********************** Function memchr ************************************/
-
-#ifdef L_memchr
-void *memchr(const void *str, int c, size_t len)
-{
-	register unsigned char *ptr = (unsigned char *) str;
-
-	while (len--) {
-		if (*ptr == (unsigned char) c)
-			return ptr;
-		ptr++;
-	}
-
-	return 0;
-}
-#endif
-
-/********************** Function memrchr ************************************/
-
-#ifdef L_memrchr
-void *memrchr(const void *str, int c, size_t len)
-{
-	register unsigned char *ptr;
-
-	for (ptr = (unsigned char *) str + len; len > 0; len--) {
-		if (*--ptr == (unsigned char) c)
-			return ptr;
-	}
-
-	return 0;
-}
-#endif
-
-/********************** Function memcmp ************************************/
-
-#ifdef L_memcmp
-int memcmp(const void *s1, const void *s2, size_t len)
-{
-	unsigned char *c1 = (unsigned char *)s1;
-	unsigned char *c2 = (unsigned char *)s2;
-
-	while (len--) {
-		if (*c1 != *c2) 
-			return *c1 - *c2;
-		c1++;
-		c2++;
-	}
-	return 0;
-}
-#endif
-
-
-/********************** Function memcmp ************************************/
-
-#ifdef L_ffs
-int ffs(int x)
-{
-	int r = 1;
-
-	if (!x)
-		return 0;
-	if (!(x & 0xffff)) {
-		x >>= 16;
-		r += 16;
-	}
-	if (!(x & 0xff)) {
-		x >>= 8;
-		r += 8;
-	}
-	if (!(x & 0xf)) {
-		x >>= 4;
-		r += 4;
-	}
-	if (!(x & 3)) {
-		x >>= 2;
-		r += 2;
-	}
-	if (!(x & 1)) {
-		x >>= 1;
-		r += 1;
-	}
-	return r;
-}
-#endif
-
-/********************** THE END ********************************************/

+ 0 - 37
libc/string/strncasecmp.c

@@ -1,37 +0,0 @@
-/* 
- * strncasecmp for uClibc
- * Copyright (C) 2002 by Brian Stafford <brian@stafford.uklinux.net>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Library General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <string.h>
-#include <ctype.h>
-
-int strncasecmp (const char *a, const char *b, size_t len)
-{
-    register int n;
-
-    if (len < 1)
-	return 0;
-    while (*a == *b || (n = tolower (*a) - tolower (*b)) == 0)
-    {
-	if (*a == '\0' || --len < 1)
-	    return 0;
-	a++, b++;
-    }
-    return n;
-}
-

+ 0 - 19
libc/string/strpbrk.c

@@ -1,19 +0,0 @@
-/* Copyright (C) 1995,1996 Robert de Bath <rdebath@cix.compulink.co.uk>
- * This file is part of the Linux-8086 C library and is distributed
- * under the GNU Library General Public License.
- */
-
-#include <string.h>
-
-/* This uses strchr, strchr should be in assembler */
-
-char *strpbrk( const char *str, const char *set)
-{
-	while (*str != '\0')
-		if (strchr(set, *str) == 0)
-			++str;
-		else
-			return (char *) str;
-
-	return 0;
-}

+ 0 - 65
libc/string/strsep.c

@@ -1,65 +0,0 @@
-/* Copyright (C) 1992, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <string.h>
-
-
-char * strsep( char **stringp, const char *delim)
-{
-  char *begin, *end;
-
-  begin = *stringp;
-  if (begin == NULL)
-    return NULL;
-
-  /* A frequent case is when the delimiter string contains only one
-     character.  Here we don't need to call the expensive `strpbrk'
-     function and instead work using `strchr'.  */
-  if (delim[0] == '\0' || delim[1] == '\0')
-    {
-      char ch = delim[0];
-
-      if (ch == '\0')
-	end = NULL;
-      else
-	{
-	  if (*begin == ch)
-	    end = begin;
-	  else if (*begin == '\0')
-	    end = NULL;
-	  else
-	    end = strchr (begin + 1, ch);
-	}
-    }
-  else
-    /* Find the end of the token.  */
-    end = strpbrk (begin, delim);
-
-  if (end)
-    {
-      /* Terminate the token and set *STRINGP past NUL character.  */
-      *end++ = '\0';
-      *stringp = end;
-    }
-  else
-    /* No more delimiters; this is the last token.  */
-    *stringp = NULL;
-
-  return begin;
-}
-

+ 0 - 42
libc/string/strspn.c

@@ -1,42 +0,0 @@
-/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include <string.h>
-
-#undef strspn
-
-/* Return the length of the maximum initial segment
-   of S which contains only characters in ACCEPT.  */
-size_t strspn( const char *s, const char *accept)
-{
-	const char *p;
-	const char *a;
-	size_t count = 0;
-
-	for (p = s; *p != '\0'; ++p) {
-		for (a = accept; *a != '\0'; ++a)
-			if (*p == *a)
-				break;
-		if (*a == '\0')
-			return count;
-		else
-			++count;
-	}
-
-	return count;
-}

+ 0 - 137
libc/string/strstr.c

@@ -1,137 +0,0 @@
-/* Return the offset of one string within another.
-   Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/*
- * My personal strstr() implementation that beats most other algorithms.
- * Until someone tells me otherwise, I assume that this is the
- * fastest implementation of strstr() in C.
- * I deliberately chose not to comment it.  You should have at least
- * as much fun trying to understand it, as I had to write it :-).
- *
- * Stephen R. van den Berg, berg@pool.informatik.rwth-aachen.de	*/
-/* added strcasestr support, davidm@lineo.com */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined _LIBC || defined HAVE_STRING_H
-# include <string.h>
-#endif
-
-typedef unsigned chartype;
-
-#if defined(L_strstr)
-
-#define VAL(x)	(x)
-#define FUNC strstr
-#undef strstr
-
-#elif defined(L_strcasestr)
-
-#include <ctype.h>
-#define VAL(x)	tolower(x)
-#define FUNC strcasestr
-#undef strcasestr
-
-#else
-
-#error "No target function defined."
-
-#endif
-
-char * FUNC ( const char *phaystack, const char *pneedle)
-{
-	register const unsigned char *haystack, *needle;
-	register chartype b, c;
-
-	haystack = (const unsigned char *) phaystack;
-	needle = (const unsigned char *) pneedle;
-
-	b = *needle;
-	if (b != '\0') {
-		haystack--;				/* possible ANSI violation */
-		do {
-			c = *++haystack;
-			if (c == '\0')
-				goto ret0;
-		}
-		while (VAL(c) != VAL(b));
-
-		c = *++needle;
-		if (c == '\0')
-			goto foundneedle;
-		++needle;
-		goto jin;
-
-		for (;;) {
-			register chartype a;
-			register const unsigned char *rhaystack, *rneedle;
-
-			do {
-				a = *++haystack;
-				if (a == '\0')
-					goto ret0;
-				if (VAL(a) == VAL(b))
-					break;
-				a = *++haystack;
-				if (a == '\0')
-					goto ret0;
-		  shloop:
-				;
-			}
-			while (VAL(a) != VAL(b));
-
-		  jin:a = *++haystack;
-			if (a == '\0')
-				goto ret0;
-
-			if (VAL(a) != VAL(c))
-				goto shloop;
-
-			rhaystack = haystack-- + 1;
-			rneedle = needle;
-			a = *rneedle;
-
-			if (VAL(*rhaystack) == VAL(a))
-				do {
-					if (a == '\0')
-						goto foundneedle;
-					++rhaystack;
-					a = *++needle;
-					if (VAL(*rhaystack) != VAL(a))
-						break;
-					if (a == '\0')
-						goto foundneedle;
-					++rhaystack;
-					a = *++needle;
-				}
-				while (VAL(*rhaystack) == VAL(a));
-
-			needle = rneedle;	/* took the register-poor approach */
-
-			if (a == '\0')
-				break;
-		}
-	}
-  foundneedle:
-	return (char *) haystack;
-  ret0:
-	return 0;
-}

+ 0 - 8
libc/string/strtok.c

@@ -1,8 +0,0 @@
-#include <string.h>
-
-static char *save = 0;
-
-char *strtok(char *s, const char *delim)
-{
-	return strtok_r(s, delim, &save);
-}

+ 0 - 53
libc/string/strtok_r.c

@@ -1,53 +0,0 @@
-/* Copyright (C) 1991 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-/*
- * Modified by Manuel Novoa III     Mar 1, 2001
- *
- * Converted original strtok.c code of strtok to __strtok_r.
- * Cleaned up logic and reduced code size.
- */
-
-#include <string.h>
-
-char *strtok_r(char *s, const char *delim, char **save_ptr)
-{
-	char *token;
-
-	token = 0;					/* Initialize to no token. */
-
-	if (s == 0) {				/* If not first time called... */
-		s = *save_ptr;			/* restart from where we left off. */
-	}
-	
-	if (s != 0) {				/* If not finished... */
-		*save_ptr = 0;
-
-		s += strspn(s, delim);	/* Skip past any leading delimiters. */
-		if (*s != '\0') {		/* We have a token. */
-			token = s;
-			*save_ptr = strpbrk(token, delim); /* Find token's end. */
-			if (*save_ptr != 0) {
-				/* Terminate the token and make SAVE_PTR point past it.  */
-				*(*save_ptr)++ = '\0';
-			}
-		}
-	}
-
-	return token;
-}

+ 13 - 10
libc/string/wstring.c

@@ -320,16 +320,19 @@ int Wstrcmp(register const Wchar *s1, register const Wchar *s2)
 /**********************************************************************/
 #ifdef L_strcoll
 #error implement strcoll and remove weak_alias!!
-/*  extern unsigned char *_ctype_collate; */
 
-/*  int strcoll(register const char *s1, const char *s2) */
-/*  { */
-/*  	int r; */
+#if 0
+extern unsigned char *_ctype_collate;
+int strcoll(register const char *s1, const char *s2)
+{
+    int r;
+
+    while (!(r = (_ctype_collate[(int)(*s1++)]-_ctype_collate[(int)(*s2++)])));
+
+    return r;
+}
+#endif
 
-/*  	while (!(r = (_ctype_collate[(int)(*s1++)]-_ctype_collate[(int)(*s2++)]))); */
-	
-/*  	return r; */
-/*  } */
 #endif
 /**********************************************************************/
 #ifdef L_wcsncmp
@@ -369,8 +372,8 @@ int Wstrncmp(register const Wchar *s1, register const Wchar *s2, size_t n)
 /**********************************************************************/
 #ifdef L_strxfrm
 #error implement strxfrm
-/*  size_t strxfrm(char * __restrict s1, const char * __restrict s2, size_t n) */
-#endif
+/* size_t strxfrm(char *dst, const char *src, size_t len); */
+#endif	
 /**********************************************************************/
 #ifdef L_wmemchr
 #define L_memchr