From 960acb5e3248b2ba657f65ea011703c57539c5a8 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Thu, 8 Dec 2005 14:44:48 +0000 Subject: Implement __tfind/__lfind and use them --- libc/misc/search/lsearch.c | 8 ++++++-- libc/misc/search/tsearch.c | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'libc/misc/search') diff --git a/libc/misc/search/lsearch.c b/libc/misc/search/lsearch.c index 4bc45ca36..4071cf1ab 100644 --- a/libc/misc/search/lsearch.c +++ b/libc/misc/search/lsearch.c @@ -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 @@ void *lfind(const void *key, const void *base, size_t *nmemb, } 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); } diff --git a/libc/misc/search/tsearch.c b/libc/misc/search/tsearch.c index 93a2c678f..58f16ab79 100644 --- a/libc/misc/search/tsearch.c +++ b/libc/misc/search/tsearch.c @@ -81,7 +81,7 @@ strong_alias(__tsearch,tsearch) #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 @@ void *tfind(__const void *key, void * __const *vrootp, __compar_fn_t compar) } return NULL; } +strong_alias(__tfind,tfind) #endif #ifdef L_tdelete -- cgit v1.2.3