| #include <netdb.h> | |
| #include <errno.h> | |
| #include <assert.h> | |
| struct hostent *gethostbyname2(const char *name, int af) | |
| { | |
| static struct hostent h; | |
| static char buf[1024]; | |
| int herrno_p, ret_r; | |
| struct hostent *ret; | |
| ret_r = gethostbyname2_r(name, af, &h, buf, sizeof(buf), &ret, &herrno_p); | |
| if (ret_r) { | |
| /* _r method returns -ERROR on error. not sure who wants it. */ | |
| __set_errno(-ret_r); | |
| h_errno = herrno_p; | |
| return 0; | |
| } | |
| assert(ret == &h); | |
| return &h; | |
| } |