#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;
}
