while (child != (phandle)0) { 
while (child != 0) { 
static void __init scan_dt_build_strings(phandle node, unsigned long *mem_start,					 unsigned long *mem_end){	unsigned long offset = reloc_offset();	char *prev_name, *namep, *sstart;	unsigned long soff;	phandle child;	sstart =  (char *)RELOC(dt_string_start);	/* get and store all property names */	prev_name = RELOC("");	for (;;) {		int rc;		/* 64 is max len of name including nul. */		namep = make_room(mem_start, mem_end, MAX_PROPERTY_NAME, 1);		rc = call_prom("nextprop", 3, 1, node, prev_name, namep);		if (rc != 1) {			/* No more nodes: unwind alloc */			*mem_start = (unsigned long)namep;			break;		}		soff = dt_find_string(namep);		if (soff != 0) {			*mem_start = (unsigned long)namep;			namep = sstart + soff;		} else {			/* Trim off some if we can */			*mem_start = (unsigned long)namep + strlen(namep) + 1;			RELOC(dt_string_end) = *mem_start;		}		prev_name = namep;	}	/* do all our children */	child = call_prom("child", 1, 1, node);	while (child != (phandle)0) {		scan_dt_build_strings(child, mem_start, mem_end);		child = call_prom("peer", 1, 1, child);	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/34153fa3af45d84f3221d9b67ba2ab7e8a220d28/prom_init.c/buggy/arch/ppc64/kernel/prom_init.c