There's a bogus implementation of gethostbyaddr_r() in lib/libc/net/gethostnamadr.c that was committed 6 years and nine months ago:
/* * Temporary function (not thread safe) */ int gethostbyaddr_r(const char *addr, int len, int type, struct hostent *result, struct hostent_data *buffer) { struct hostent *hp; int ret; if ((hp = gethostbyaddr(addr, len, type)) == NULL) { ret = -1; } else { memcpy(result, hp, sizeof(struct hostent)); ret = 0; } return(ret); } What's the deal here? Despite the fact that this is not prototyped in a header, some ports are detecting this, and -- one assumes -- not behaving correctly since this implementation isn't thread-safe. Kris
pgp00000.pgp
Description: PGP signature