static char *sccsid
= "@(#)lookup.c 1.1 (Berkeley) %G%";
* look up an address in a sorted-by-address namelist
* this deals with misses by mapping them to the next lower
for ( low
= 0 , high
= nname
- 1 ; low
!= high
; ) {
middle
= ( high
+ low
) >> 1;
if ( nl
[ middle
].value
<= address
&& nl
[ middle
+1 ].value
> address
) {
if ( debug
& TALLYDEBUG
) {
printf( "[nllookup] %d (%d) probes\n" , probes
, nname
-1 );
if ( nl
[ middle
].value
> address
) {
fprintf( stderr
, "[nllookup] binary search fails???\n" );
arclookup( parentp
, childp
)
if ( parentp
== 0 || childp
== 0 ) {
fprintf( "[arclookup] parentp == 0 || childp == 0\n" );
if ( debug
& TALLYDEBUG
) {
printf( "[arclookup] parent %s child %s\n" ,
parentp
-> name
, childp
-> name
);
for ( arcp
= parentp
-> children
; arcp
; arcp
= arcp
-> arc_childlist
) {
if ( debug
& TALLYDEBUG
) {
printf( "[arclookup]\t arc_parent %s arc_child %s\n" ,
arcp
-> arc_parentp
-> name
,
arcp
-> arc_childp
-> name
);
if ( arcp
-> arc_childp
== childp
) {