Convert connection functions to return error objects.

This commit is contained in:
Jamey Sharp 2006-09-15 00:39:51 -07:00
parent ac17ae62fe
commit 0aa96bfc7a
2 changed files with 10 additions and 6 deletions

View File

@ -44,6 +44,8 @@ typedef struct {
CARD16 length;
} XCBSetupGeneric;
static const int error_connection = 1;
static int set_fd_flags(const int fd)
{
long flags = fcntl(fd, F_GETFL, 0);
@ -199,7 +201,7 @@ XCBConnection *XCBConnectToFD(int fd, XCBAuthInfo *auth_info)
c = calloc(1, sizeof(XCBConnection));
if(!c)
return 0;
return (XCBConnection *) &error_connection;
c->fd = fd;
@ -215,7 +217,7 @@ XCBConnection *XCBConnectToFD(int fd, XCBAuthInfo *auth_info)
))
{
XCBDisconnect(c);
return 0;
return (XCBConnection *) &error_connection;
}
return c;

View File

@ -45,6 +45,8 @@
#include "xcbext.h"
#include "xcbint.h"
static const int error_connection = 1;
int XCBPopcount(CARD32 mask)
{
unsigned long y;
@ -212,11 +214,11 @@ XCBConnection *XCBConnect(const char *displayname, int *screenp)
XCBAuthInfo auth;
if(!XCBParseDisplay(displayname, &host, &display, screenp))
return 0;
return (XCBConnection *) &error_connection;
fd = _xcb_open(host, display);
free(host);
if(fd == -1)
return 0;
return (XCBConnection *) &error_connection;
_xcb_get_auth_info(fd, &auth);
c = XCBConnectToFD(fd, &auth);
@ -231,11 +233,11 @@ XCBConnection *XCBConnectToDisplayWithAuthInfo(const char *displayname, XCBAuthI
char *host;
if(!XCBParseDisplay(displayname, &host, &display, screenp))
return 0;
return (XCBConnection *) &error_connection;
fd = _xcb_open(host, display);
free(host);
if(fd == -1)
return 0;
return (XCBConnection *) &error_connection;
return XCBConnectToFD(fd, auth);
}