1 2 /* Copyright 1998 by the Massachusetts Institute of Technology. 3 * 4 * Permission to use, copy, modify, and distribute this 5 * software and its documentation for any purpose and without 6 * fee is hereby granted, provided that the above copyright 7 * notice appear in all copies and that both that copyright 8 * notice and this permission notice appear in supporting 9 * documentation, and that the name of M.I.T. not be used in 10 * advertising or publicity pertaining to distribution of the 11 * software without specific, written prior permission. 12 * M.I.T. makes no representations about the suitability of 13 * this software for any purpose. It is provided "as is" 14 * without express or implied warranty. 15 */ 16 17 #include "ares_setup.h" 18 #include <stdlib.h> 19 20 #ifdef HAVE_NETDB_H 21 #include <netdb.h> 22 #endif 23 24 #include "ares.h" 25 #include "ares_private.h" /* for memdebug */ 26 ares_free_hostent(struct hostent * host)27void ares_free_hostent(struct hostent *host) 28 { 29 char **p; 30 31 if (!host) 32 return; 33 34 free((char *)(host->h_name)); 35 for (p = host->h_aliases; *p; p++) 36 free(*p); 37 free(host->h_aliases); 38 free(host->h_addr_list[0]); /* no matter if there is one or many entries, 39 there is only one malloc for all of them */ 40 free(host->h_addr_list); 41 free(host); 42 } 43