OSDN Git Service

make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
authorDenis Vlasenko <vda.linux@googlemail.com>
Fri, 13 Apr 2007 21:26:20 +0000 (21:26 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Fri, 13 Apr 2007 21:26:20 +0000 (21:26 -0000)
libbb/xfuncs.c

index 7fe5c3a..7e11094 100644 (file)
@@ -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;
 }