iconv: add euro symbol to GBK as single byte 0x80
[musl.git] / src / network / gethostbyaddr.c
blobc3cacaac1466f147a9332fc4a46f430cce8e6271
1 #define _GNU_SOURCE
3 #include <netdb.h>
4 #include <errno.h>
5 #include <stdlib.h>
7 struct hostent *gethostbyaddr(const void *a, socklen_t l, int af)
9 static struct hostent *h;
10 size_t size = 63;
11 struct hostent *res;
12 int err;
13 do {
14 free(h);
15 h = malloc(size+=size+1);
16 if (!h) {
17 h_errno = NO_RECOVERY;
18 return 0;
20 err = gethostbyaddr_r(a, l, af, h,
21 (void *)(h+1), size-sizeof *h, &res, &h_errno);
22 } while (err == ERANGE);
23 return res;