Merge branch 'master' into lukeh/moonshot
This commit is contained in:
		| @@ -198,7 +198,7 @@ nodist_include_HEADERS = roken.h | |||||||
| rokenincludedir = $(includedir)/roken | rokenincludedir = $(includedir)/roken | ||||||
| nodist_rokeninclude_HEADERS = $(XHEADERS) | nodist_rokeninclude_HEADERS = $(XHEADERS) | ||||||
|  |  | ||||||
| man_MANS = getarg.3 parse_time.3 rtbl.3 ecalloc.3 tsearch.3 | man_MANS = getarg.3 parse_time.3 rtbl.3 ecalloc.3 | ||||||
|  |  | ||||||
| SUFFIXES += .hin | SUFFIXES += .hin | ||||||
| .hin.h: | .hin.h: | ||||||
|   | |||||||
| @@ -1,138 +0,0 @@ | |||||||
| .\" $NetBSD$ |  | ||||||
| .\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com> |  | ||||||
| .\" All rights reserved. |  | ||||||
| .\" |  | ||||||
| .\" Redistribution and use in source and binary forms, with or without |  | ||||||
| .\" modification, are permitted provided that the following conditions |  | ||||||
| .\" are met: |  | ||||||
| .\" 1. Redistributions of source code must retain the above copyright |  | ||||||
| .\"    notice, this list of conditions and the following disclaimer. |  | ||||||
| .\" 2. Redistributions in binary form must reproduce the above copyright |  | ||||||
| .\"    notice, this list of conditions and the following disclaimer in the |  | ||||||
| .\"    documentation and/or other materials provided with the distribution. |  | ||||||
| .\" 3. The name of the author may not be used to endorse or promote products |  | ||||||
| .\"    derived from this software without specific prior written permission. |  | ||||||
| .\" |  | ||||||
| .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, |  | ||||||
| .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY |  | ||||||
| .\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL |  | ||||||
| .\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |  | ||||||
| .\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |  | ||||||
| .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; |  | ||||||
| .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |  | ||||||
| .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |  | ||||||
| .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |  | ||||||
| .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | ||||||
| .\" |  | ||||||
| .\"	OpenBSD: tsearch.3,v 1.2 1998/06/21 22:13:49 millert Exp |  | ||||||
| .\" $FreeBSD: src/lib/libc/stdlib/tsearch.3,v 1.15 2006/06/23 13:36:33 keramida Exp $ |  | ||||||
| .\" $DragonFly: src/lib/libc/stdlib/tsearch.c,v 1.6 2005/11/24 17:18:30 swildner Exp $ |  | ||||||
| .\" |  | ||||||
| .Dd June 15, 1997 |  | ||||||
| .Dt TSEARCH 3 |  | ||||||
| .Os |  | ||||||
| .Sh NAME |  | ||||||
| .Nm tsearch , |  | ||||||
| .Nm tfind , |  | ||||||
| .Nm tdelete , |  | ||||||
| .Nm twalk |  | ||||||
| .Nd manipulate binary search trees |  | ||||||
| .Sh LIBRARY |  | ||||||
| .Lb libc |  | ||||||
| .Sh SYNOPSIS |  | ||||||
| .In search.h |  | ||||||
| .Ft void * |  | ||||||
| .Fn tdelete "const void * restrict key" "void ** restrict rootp" "int (*compar) (const void *, const void *)" |  | ||||||
| .Ft void * |  | ||||||
| .Fn tfind "const void *key" "void * const *rootp" "int (*compar) (const void *, const void *)" |  | ||||||
| .Ft void * |  | ||||||
| .Fn tsearch "const void *key" "void **rootp" "int (*compar) (const void *, const void *)" |  | ||||||
| .Ft void |  | ||||||
| .Fn twalk "const void *root" "void (*action) (const void *, VISIT, int)" |  | ||||||
| .Sh DESCRIPTION |  | ||||||
| The |  | ||||||
| .Fn tdelete , |  | ||||||
| .Fn tfind , |  | ||||||
| .Fn tsearch , |  | ||||||
| and |  | ||||||
| .Fn twalk |  | ||||||
| functions manage binary search trees based on algorithms T and D |  | ||||||
| from Knuth (6.2.2). |  | ||||||
| The comparison function passed in by |  | ||||||
| the user has the same style of return values as |  | ||||||
| .Xr strcmp 3 . |  | ||||||
| .Pp |  | ||||||
| The |  | ||||||
| .Fn tfind |  | ||||||
| function |  | ||||||
| searches for the datum matched by the argument |  | ||||||
| .Fa key |  | ||||||
| in the binary tree rooted at |  | ||||||
| .Fa rootp , |  | ||||||
| returning a pointer to the datum if it is found and NULL |  | ||||||
| if it is not. |  | ||||||
| .Pp |  | ||||||
| The |  | ||||||
| .Fn tsearch |  | ||||||
| function |  | ||||||
| is identical to |  | ||||||
| .Fn tfind |  | ||||||
| except that if no match is found, |  | ||||||
| .Fa key |  | ||||||
| is inserted into the tree and a pointer to it is returned. |  | ||||||
| If |  | ||||||
| .Fa rootp |  | ||||||
| points to a NULL value a new binary search tree is created. |  | ||||||
| .Pp |  | ||||||
| The |  | ||||||
| .Fn tdelete |  | ||||||
| function |  | ||||||
| deletes a node from the specified binary search tree and returns |  | ||||||
| a pointer to the parent of the node to be deleted. |  | ||||||
| It takes the same arguments as |  | ||||||
| .Fn tfind |  | ||||||
| and |  | ||||||
| .Fn tsearch . |  | ||||||
| If the node to be deleted is the root of the binary search tree, |  | ||||||
| .Fa rootp |  | ||||||
| will be adjusted. |  | ||||||
| .Pp |  | ||||||
| The |  | ||||||
| .Fn twalk |  | ||||||
| function |  | ||||||
| walks the binary search tree rooted in |  | ||||||
| .Fa root |  | ||||||
| and calls the function |  | ||||||
| .Fa action |  | ||||||
| on each node. |  | ||||||
| The |  | ||||||
| .Fa action |  | ||||||
| function |  | ||||||
| is called with three arguments: a pointer to the current node, |  | ||||||
| a value from the enum |  | ||||||
| .Sy "typedef enum { preorder, postorder, endorder, leaf } VISIT;" |  | ||||||
| specifying the traversal type, and a node level (where level |  | ||||||
| zero is the root of the tree). |  | ||||||
| .Sh RETURN VALUES |  | ||||||
| The |  | ||||||
| .Fn tsearch |  | ||||||
| function returns NULL if allocation of a new node fails (usually |  | ||||||
| due to a lack of free memory). |  | ||||||
| .Pp |  | ||||||
| The |  | ||||||
| .Fn tfind , |  | ||||||
| .Fn tsearch , |  | ||||||
| and |  | ||||||
| .Fn tdelete |  | ||||||
| functions |  | ||||||
| return NULL if |  | ||||||
| .Fa rootp |  | ||||||
| is NULL or the datum cannot be found. |  | ||||||
| .Pp |  | ||||||
| The |  | ||||||
| .Fn twalk |  | ||||||
| function returns no value. |  | ||||||
| .Sh SEE ALSO |  | ||||||
| .Xr bsearch 3 , |  | ||||||
| .Xr hsearch 3 , |  | ||||||
| .Xr lsearch 3 |  | ||||||
| @@ -245,6 +245,11 @@ for mech in krb5 spnego; do | |||||||
| 		--mech-type=$mech host@lucid.test.h5l.se || \ | 		--mech-type=$mech host@lucid.test.h5l.se || \ | ||||||
| 		{ eval "$testfailed"; } | 		{ eval "$testfailed"; } | ||||||
|  |  | ||||||
|  | 	echo "${mech}: acceptor_identity positive (prefix)" ; > messages.log | ||||||
|  | 	${context} --gsskrb5-acceptor-identity=FILE:${keytabfile}.new \ | ||||||
|  | 		--mech-type=$mech host@lucid.test.h5l.se || \ | ||||||
|  | 		{ eval "$testfailed"; } | ||||||
|  |  | ||||||
| 	echo "${mech}: acceptor_identity negative" ; > messages.log | 	echo "${mech}: acceptor_identity negative" ; > messages.log | ||||||
| 	${context} --gsskrb5-acceptor-identity=${keytabfile}.foo \ | 	${context} --gsskrb5-acceptor-identity=${keytabfile}.foo \ | ||||||
| 		--mech-type=$mech host@lucid.test.h5l.se 2>/dev/null && \ | 		--mech-type=$mech host@lucid.test.h5l.se 2>/dev/null && \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Luke Howard
					Luke Howard