int indent = 1; 
static struct trie_stat *trie_collect_stats(struct trie *t){	struct node *n = t->trie;	struct trie_stat *s = trie_stat_new();	int cindex = 0;	int indent = 1;	int pend = 0;	int depth = 0;	read_lock(&fib_lock);		if (s) {		if (n) {			if (IS_TNODE(n)) {				struct tnode *tn = (struct tnode *)n;				pend = tn->pos+tn->bits;				indent += 3;				s->nodesizes[tn->bits]++;				depth++;				while (tn && cindex < (1 << tn->bits)) {					if (tn->child[cindex]) {						/* Got a child */										if (IS_LEAF(tn->child[cindex])) {							cindex++;												/* stats */							if (depth > s->maxdepth)								s->maxdepth = depth;							s->totdepth += depth;							s->leaves++;						}										else {							/*							 * New tnode. Decend one level							 */												s->tnodes++;							s->nodesizes[tn->bits]++;							depth++;												n = tn->child[cindex];							tn = (struct tnode *)n;							pend = tn->pos+tn->bits;							indent += 3;							cindex = 0;						}					}					else {						cindex++;						s->nullpointers++;					}					/*					 * 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;		}	}	read_unlock(&fib_lock);		return s;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/91b9a277fc4d207249e459a455abf804ebb5499d/fib_trie.c/buggy/net/ipv4/fib_trie.c