Originariamente inviato da Ratatuia
codice:
		for (i = *testaV; i->next != NULL; i=i->next)
			;
		i->next = nuovo_vhs;
		return;
Il ";" che c'è è un errore di battitura o esiste davvero? Perchè credo che quel ";" faccia sì che dentro al ciclo for non esegua nessuna operazione e poi, terminato il ciclo, faccia l'assegnazione
i->next = nuovo_vhs;

Dunque credo che così facendo inserisca solo il primo nodo e ogni volta lo sovrascrive...