In effetti e' un po' incasinato ed e' difficile da seguire ...
In ogni caso, dato il problema che lamenti, l'attenzione si dovrebbe concentrare su quel puntatore next che sta nella struttura per la lista ...
Non trovo infatti nessuna linea che aggiorni tale puntatore durante la lettura in modo da collegare tutti gli elementi della lista ...