come faccio a cancellare definitivamente, in modo ricorsivo, il contenuto di una lista?
io ho provato cosi:

codice:
void 
list_free(list_t *p){ 	
list_t *temp;  	
while(p){ 		
temp=p->next; 		
free(p); 		
p=temp; 	
} 
}
pero se poi provo a stampare mi stampa ugualmente alcuni elementi della lista non cancellandola definitivamente... come posso risolvere?