| 1 | #include <resolv.h> |
| 2 | #include <string.h> |
| 3 | |
| 4 | int __res_send(const unsigned char *msg, int msglen, unsigned char *answer, int anslen) |
| 5 | { |
| 6 | 	int r; |
| 7 | 	if (anslen < 512) { |
| 8 | 		unsigned char buf[512]; |
| 9 | 		r = __res_send(msg, msglen, buf, sizeof buf); |
| 10 | 		if (r >= 0) memcpy(answer, buf, r < anslen ? r : anslen); |
| 11 | 		return r; |
| 12 | 	} |
| 13 | 	r = __res_msend(1, &msg, &msglen, &answer, &anslen, anslen); |
| 14 | 	return r<0 || !anslen ? -1 : anslen; |
| 15 | } |
| 16 | |
| 17 | weak_alias(__res_send, res_send); |