diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 2000-07-26 21:12:35 +0000 |
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 2000-07-26 21:12:35 +0000 |
| commit | a964be6d2c35243e54bf5ce12c15339d331189cb (patch) | |
| tree | 26495eba10a5d04d8137457f832b376b573dd186 /lib/libc/stdlib/tfind.c | |
| parent | dc30028e8a31a0604280582224f03e9c70ec1ec0 (diff) | |
Diffstat (limited to 'lib/libc/stdlib/tfind.c')
| -rw-r--r-- | lib/libc/stdlib/tfind.c | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/lib/libc/stdlib/tfind.c b/lib/libc/stdlib/tfind.c deleted file mode 100644 index b2c4b9618bb76..0000000000000 --- a/lib/libc/stdlib/tfind.c +++ /dev/null @@ -1,47 +0,0 @@ -/* $NetBSD: tfind.c,v 1.2 1999/09/16 11:45:37 lukem Exp $ */ -/* $FreeBSD$ */ - -/* - * Tree search generalized from Knuth (6.2.2) Algorithm T just like - * the AT&T man page says. - * - * The node_t structure is for internal use only, lint doesn't grok it. - * - * Written by reading the System V Interface Definition, not the code. - * - * Totally public domain. - */ - -#include <sys/cdefs.h> -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: tfind.c,v 1.2 1999/09/16 11:45:37 lukem Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include <assert.h> -#define _SEARCH_PRIVATE -#include <stdlib.h> -#include <search.h> - -/* find a node, or return 0 */ -void * -tfind(vkey, vrootp, compar) - const void *vkey; /* key to be found */ - void **vrootp; /* address of the tree root */ - int (*compar) __P((const void *, const void *)); -{ - node_t **rootp = (node_t **)vrootp; - - if (rootp == NULL) - return NULL; - - while (*rootp != NULL) { /* T1: */ - int r; - - if ((r = (*compar)(vkey, (*rootp)->key)) == 0) /* T2: */ - return *rootp; /* key found */ - rootp = (r < 0) ? - &(*rootp)->llink : /* T3: follow left branch */ - &(*rootp)->rlink; /* T4: follow right branch */ - } - return NULL; -} |
