X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fxcb_util.c;h=8c18d7156dc6166b9c8fc5401a435a6bdbdb0077;hb=1bbdba52116f127bed3ce812a00240b4009bbf22;hp=dd2305abdce258c3967c7d7c8fd17f47aefde9ce;hpb=09045eaac34973662aaa820a94ca8ed66d9dcb4e;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/xcb_util.c b/src/xcb_util.c index dd2305a..8c18d71 100644 --- a/src/xcb_util.c +++ b/src/xcb_util.c @@ -216,6 +216,7 @@ static int _xcb_open_tcp(char *host, char *protocol, const unsigned short port) if (protocol && strcmp("tcp",protocol)) return -1; +#ifdef AF_INET6 /* Allow IPv6 addresses enclosed in brackets. */ if(host[0] == '[' && (bracket = strrchr(host, ']')) && bracket[1] == '\0') { @@ -224,6 +225,7 @@ static int _xcb_open_tcp(char *host, char *protocol, const unsigned short port) hints.ai_flags |= AI_NUMERICHOST; hints.ai_family = AF_INET6; } +#endif snprintf(service, sizeof(service), "%hu", port); if(getaddrinfo(host, service, &hints, &results)) @@ -244,13 +246,16 @@ static int _xcb_open_tcp(char *host, char *protocol, const unsigned short port) static int _xcb_open_unix(char *protocol, const char *file) { int fd; - struct sockaddr_un addr = { AF_UNIX }; + struct sockaddr_un addr; if (protocol && strcmp("unix",protocol)) return -1; strcpy(addr.sun_path, file); - + addr.sun_family = AF_UNIX; +#if HAVE_SOCKADDR_SUN_LEN + addr.sun_len = SUN_LEN(&addr); +#endif fd = socket(AF_UNIX, SOCK_STREAM, 0); if(fd == -1) return -1;