Lines Matching refs:rn

344 	register struct radix_node *rn, *last = 0 /* shut up gcc */;
353 for (rn = h->rnh_treetop; rn->rn_bit >= 0; ) {
354 last = rn;
356 rn->rn_bit, rn->rn_bmask, xm[rn->rn_offset]); */
357 if (!(rn->rn_bmask & xm[rn->rn_offset])) {
360 if (rn->rn_bmask & xa[rn->rn_offset]) {
361 rn = rn->rn_right;
363 rn = rn->rn_left;
370 * in which case last == rn, or we reached a leaf, in which
374 rn = last;
375 lastb = rn->rn_bit;
377 /* printf("rn %p, lastb %d\n", rn, lastb);*/
384 while (rn->rn_bit >= 0) {
385 rn = rn->rn_left;
389 /* printf("node %p (%d)\n", rn, rn->rn_bit); */
390 base = rn;
392 while (rn->rn_parent->rn_right == rn
393 && !(rn->rn_flags & RNF_ROOT)) {
394 rn = rn->rn_parent;
397 if (rn->rn_bit <= lastb) {
402 * part, because the values of 'rn' and 'next'
415 if (rn->rn_parent->rn_flags & RNF_ROOT)
419 for (rn = rn->rn_parent->rn_right; rn->rn_bit >= 0;)
420 rn = rn->rn_left;
421 next = rn;
423 while ((rn = base) != 0) {
424 base = rn->rn_dupedkey;
425 /* printf("leaf %p\n", rn); */
426 if (!(rn->rn_flags & RNF_ROOT)
427 && (error = (*f)(rn, w)))
430 rn = next;
432 if (rn->rn_flags & RNF_ROOT) {
446 register struct radix_node *rn = h->rnh_treetop;
453 while (rn->rn_bit >= 0) {
454 rn = rn->rn_left;
457 base = rn;
459 while (rn->rn_parent->rn_right == rn
460 && (rn->rn_flags & RNF_ROOT) == 0) {
461 rn = rn->rn_parent;
464 for (rn = rn->rn_parent->rn_right; rn->rn_bit >= 0;) {
465 rn = rn->rn_left;
467 next = rn;
469 while ((rn = base)) {
470 base = rn->rn_dupedkey;
471 if (!(rn->rn_flags & RNF_ROOT)
472 && (error = (*f)(rn, w)))
475 rn = next;
476 if (rn->rn_flags & RNF_ROOT)