In quel pezzo di codice non serve assolutamente a nulla, hai ragione, anche perche' piu' sopra viene gia' testato il valore di fp, e la funzione esce se e' NULL.
La sua utilita' e' in programmi piu' complessi, dove si affettuano varie modifiche, da parte di piu' persone.
Pensa a una situazione del genere:
Hai la funzione in questione.
Si fa una modifica, per cui il flusso diventa un po' piu' contorto.
Il test su fp, magari a causa di un if, viene saltato.
Quindi il programma crasha.
Ti assicuro che e' una situazione che, nella pratica professionale, capita piu' spesso di quando non si creda.
In questo modo hai anche il vantaggio di documentare che fp DEVE eseere diverso da NULL, perche' piu' sotto non vengono fatti controlli.
Spero di essere stato sufficientemente chiaro. Se hai altre domande, chiedi pure.



