poh_freed = sisfb_heap.oh_used.poh_next; 
poh_freed = memheap->oh_used.poh_next; 
sisfb_poh_free(u32 base){	SIS_OH *pohThis;	SIS_OH *poh_freed;	SIS_OH *poh_prev;	SIS_OH *poh_next;	u32     ulUpper;	u32     ulLower;	int     foundNode = 0;	poh_freed = sisfb_heap.oh_used.poh_next;	while(poh_freed != &sisfb_heap.oh_used) {		if(poh_freed->offset == base) {			foundNode = 1;			break;		}		poh_freed = poh_freed->poh_next;	}	if(!foundNode) return(NULL);	sisfb_heap.max_freesize += poh_freed->size;	poh_prev = poh_next = NULL;	ulUpper = poh_freed->offset + poh_freed->size;	ulLower = poh_freed->offset;	pohThis = sisfb_heap.oh_free.poh_next;	while(pohThis != &sisfb_heap.oh_free) {		if(pohThis->offset == ulUpper) {			poh_next = pohThis;		} else if((pohThis->offset + pohThis->size) == ulLower) {			poh_prev = pohThis;		}		pohThis = pohThis->poh_next;	}	sisfb_delete_node(poh_freed);	if(poh_prev && poh_next) {		poh_prev->size += (poh_freed->size + poh_next->size);		sisfb_delete_node(poh_next);		sisfb_free_node(poh_freed);		sisfb_free_node(poh_next);		return(poh_prev);	}	if(poh_prev) {		poh_prev->size += poh_freed->size;		sisfb_free_node(poh_freed);		return(poh_prev);	}	if(poh_next) {		poh_next->size += poh_freed->size;		poh_next->offset = poh_freed->offset;		sisfb_free_node(poh_freed);		return(poh_next);	}	sisfb_insert_node(&sisfb_heap.oh_free, poh_freed);	return(poh_freed);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/sis_main.c/clean/drivers/video/sis/sis_main.c