From 1d6a4aec2cbe09ba21a6b5f8dc5dec7d341f7ba1 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 13 Apr 2007 21:26:20 +0000 Subject: make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y) --- libbb/xfuncs.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c index 7fe5c3a45..7e1109470 100644 --- a/libbb/xfuncs.c +++ b/libbb/xfuncs.c @@ -540,7 +540,18 @@ int xsocket(int domain, int type, int protocol) { int r = socket(domain, type, protocol); - if (r < 0) bb_perror_msg_and_die("socket"); + if (r < 0) { + /* Hijack vaguely related config option */ +#if ENABLE_VERBOSE_RESOLUTION_ERRORS + const char *s = "INET"; + if (domain == AF_PACKET) s = "PACKET"; + if (domain == AF_NETLINK) s = "NETLINK"; +USE_FEATURE_IPV6(if (domain == AF_INET6) s = "INET6";) + bb_perror_msg_and_die("socket(AF_%s)", s); +#else + bb_perror_msg_and_die("socket"); +#endif + } return r; } -- cgit v1.2.3