struct hostent *gethostbyname(const char *name)
Si noti che host.h_addr_list è un campo con lunghezza variante.In che modo `gethostbyname` restituisce` struct hostent * `senza richiedere al chiamante di rilasciare la risorsa?
In che modo la funzione gethostbyname
ha l'implementazione che restituisce un puntatore che punta a una struttura ma non richiede che il chiamante rilasci la risorsa?
Tutti gli esempi utilizzati nel famoso libro Unix Network Programming Vol 1 di R. Stevens non contengono codice per rilasciare i puntatori restituiti e presumo che questi non siano ignoranza. Anche un esempio di MSDN fa la stessa cosa example of usage
Questo è uno dei motivi per cui dovresti passare a 'getaddrinfo', che è la versione moderna di' gethostbyname'. Dopo aver chiamato 'getaddrinfo', devi' freeaddrinfo'. –
Mi piace 'strerror'! – curiousguy