if (n) { printnode_seq(seq, indent, n, pend, cindex, 0); if (IS_TNODE(n)) { struct tnode *tn = (struct tnode *)n; pend = tn->pos+tn->bits; putspace_seq(seq, indent); seq_printf(seq, "\\--\n"); indent += 3; depth++; 
static void trie_dump_seq(struct seq_file *seq, struct trie *t){	struct node *n = t->trie;	int cindex=0;	int indent=1;	int pend=0;	int depth = 0;  	read_lock(&fib_lock);	seq_printf(seq, "------ trie_dump of t=%p ------\n", t);	if (n) {		printnode_seq(seq, indent, n, pend, cindex, 0);		if (IS_TNODE(n)) {			struct tnode *tn = (struct tnode *)n;			pend = tn->pos+tn->bits;			putspace_seq(seq, indent); seq_printf(seq, "\\--\n");			indent += 3;			depth++;			while (tn && cindex < (1 << tn->bits)) {				if (tn->child[cindex]) {									/* Got a child */									printnode_seq(seq, indent, tn->child[cindex], pend, cindex, tn->bits);					if (IS_LEAF(tn->child[cindex])) {						cindex++;										}					else {						/*						 * New tnode. Decend one level						 */											depth++;						n = tn->child[cindex];						tn = (struct tnode *)n;						pend = tn->pos+tn->bits;						putspace_seq(seq, indent); seq_printf(seq, "\\--\n");						indent+=3;						cindex=0;					}				}				else					cindex++;				/*				 * Test if we are done				 */							while (cindex >= (1 << tn->bits)) {					/*					 * Move upwards and test for root					 * pop off all traversed  nodes					 */									if (NODE_PARENT(tn) == NULL) {						tn = NULL;						n = NULL;						break;					}					else {						cindex = tkey_extract_bits(tn->key, NODE_PARENT(tn)->pos, NODE_PARENT(tn)->bits);						tn = NODE_PARENT(tn);						cindex++;						n = (struct node *)tn;						pend = tn->pos+tn->bits;						indent-=3;						depth--;					}				}			}		}		else n = NULL;	}	else seq_printf(seq, "------ trie is empty\n");  	read_unlock(&fib_lock);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/91b9a277fc4d207249e459a455abf804ebb5499d/fib_trie.c/buggy/net/ipv4/fib_trie.c