int xcb_popcount(uint32_t mask)
{
- unsigned long y;
+ uint32_t y;
y = (mask >> 1) & 033333333333;
y = mask - y - ((y >> 1) & 033333333333);
return ((y + (y >> 3)) & 030707070707) % 077;
if(fd == -1)
return (xcb_connection_t *) &error_connection;
- _xcb_get_auth_info(fd, &auth);
- c = xcb_connect_to_fd(fd, &auth);
- free(auth.name);
- free(auth.data);
+ if(_xcb_get_auth_info(fd, &auth, display))
+ {
+ c = xcb_connect_to_fd(fd, &auth);
+ free(auth.name);
+ free(auth.data);
+ }
+ else
+ c = xcb_connect_to_fd(fd, 0);
return c;
}