svn commit: trunk/uClibc/libc/misc/search

psm at uclibc.org psm at uclibc.org
Thu Dec 8 14:47:02 UTC 2005


Author: psm
Date: 2005-12-08 06:44:48 -0800 (Thu, 08 Dec 2005)
New Revision: 12744

Log:
Implement __tfind/__lfind and use them

Modified:
   trunk/uClibc/libc/misc/search/lsearch.c
   trunk/uClibc/libc/misc/search/tsearch.c


Changeset:
Modified: trunk/uClibc/libc/misc/search/lsearch.c
===================================================================
--- trunk/uClibc/libc/misc/search/lsearch.c	2005-12-08 14:42:29 UTC (rev 12743)
+++ trunk/uClibc/libc/misc/search/lsearch.c	2005-12-08 14:44:48 UTC (rev 12744)
@@ -14,7 +14,7 @@
 
 #ifdef L_lfind
 
-void *lfind(const void *key, const void *base, size_t *nmemb,
+void attribute_hidden *__lfind(const void *key, const void *base, size_t *nmemb,
 	size_t size, int (*compar)(const void *, const void *))
 {
 	register int n = *nmemb;
@@ -26,17 +26,21 @@
 	}
 	return (NULL);
 }
+strong_alias(__lfind,lfind)
 
 #endif
 
 #ifdef L_lsearch
 
+extern void *__lfind (__const void *__key, __const void *__base,
+		    size_t *__nmemb, size_t __size, __compar_fn_t __compar) attribute_hidden;
+
 void *lsearch(const void *key, void *base, size_t *nmemb, 
 	size_t size, int (*compar)(const void *, const void *))
 {
 	register char *p;
 
-	if ((p = lfind(key, base, nmemb, size, compar)) == NULL) {
+	if ((p = __lfind(key, base, nmemb, size, compar)) == NULL) {
 		p = __memcpy((base + (size * (*nmemb))), key, size);
 		++(*nmemb);
 	}

Modified: trunk/uClibc/libc/misc/search/tsearch.c
===================================================================
--- trunk/uClibc/libc/misc/search/tsearch.c	2005-12-08 14:42:29 UTC (rev 12743)
+++ trunk/uClibc/libc/misc/search/tsearch.c	2005-12-08 14:44:48 UTC (rev 12744)
@@ -81,7 +81,7 @@
 #endif
 
 #ifdef L_tfind
-void *tfind(__const void *key, void * __const *vrootp, __compar_fn_t compar)
+void attribute_hidden *__tfind(__const void *key, void * __const *vrootp, __compar_fn_t compar)
 {
     register node **rootp = (node **) vrootp;
 
@@ -99,6 +99,7 @@
     }
     return NULL;
 }
+strong_alias(__tfind,tfind)
 #endif
 
 #ifdef L_tdelete




More information about the uClibc-cvs mailing list