Lines Matching refs:hd
43 static struct hostdata *hd = NULL;
49 if (hd->buf[0] == '#')
52 ch = strchr(hd->buf, '#');
55 ch = strtok_r(hd->buf, " \t\n", &ptr);
59 if (inet_pton(AF_INET, ch, hd->addr_list[0]) == 1) {
60 hd->he.h_addrtype = AF_INET;
61 hd->he.h_length = INET_ADDR_LEN;
62 hd->addr_list[0][INET_ADDR_LEN] = '\0';
63 } else if (inet_pton(AF_INET6, ch, hd->addr_list[0]) == 1) {
64 hd->he.h_addrtype = AF_INET6;
65 hd->he.h_length = INET6_ADDR_LEN;
66 hd->addr_list[0][INET6_ADDR_LEN] = '\0';
71 hd->addr[0] = hd->addr_list[0];
72 hd->addr[1] = NULL;
73 hd->he.h_addr_list = hd->addr;
78 hd->he.h_name = ch;
83 hd->aliases[i++] = ch;
86 hd->aliases[MAX_ALIAS_NO] = NULL;
87 hd->he.h_aliases = hd->aliases;
95 if (hd == NULL) {
96 if ((hd = malloc(sizeof(struct hostdata))) == NULL) {
100 hd->hostf = NULL;
102 if (hd->hostf == NULL)
103 hd->hostf = fopen(NET_FILE_PATH, "r");
105 rewind(hd->hostf);
106 hd->stayopen = stayopen;
113 if (hd == NULL) {
114 if ((hd = malloc(sizeof(struct hostdata))) == NULL) {
118 hd->hostf = NULL;
119 hd->stayopen = 0;
121 if (!hd->hostf && !(hd->hostf = fopen(HOST_FILE_PATH, "r"))) {
123 free(hd);
124 hd =NULL;
128 if (!fgets(hd->buf, BUFFER_SIZE, hd->hostf)) {
134 return &(hd->he);
203 if (hd == NULL)
205 if (hd->stayopen == 0) {
206 if (hd->hostf != NULL)
207 fclose(hd->hostf);
208 free(hd);
209 hd = NULL;