projects
/
free-sw
/
xcb
/
libxcb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prototype API conversion tool for upcoming lowercased XCB API.
[free-sw/xcb/libxcb]
/
src
/
xcb_conn.c
diff --git
a/src/xcb_conn.c
b/src/xcb_conn.c
index
51f8eaa
..
be80bac
100644
(file)
--- a/
src/xcb_conn.c
+++ b/
src/xcb_conn.c
@@
-32,12
+32,18
@@
#include <stdlib.h>
#include <netinet/in.h>
#include <sys/select.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <sys/select.h>
-#include <
sys/
fcntl.h>
+#include <fcntl.h>
#include <errno.h>
#include "xcb.h"
#include "xcbint.h"
#include <errno.h>
#include "xcb.h"
#include "xcbint.h"
+typedef struct {
+ CARD8 status;
+ CARD8 pad0[5];
+ CARD16 length;
+} XCBSetupGeneric;
+
static int set_fd_flags(const int fd)
{
long flags = fcntl(fd, F_GETFL, 0);
static int set_fd_flags(const int fd)
{
long flags = fcntl(fd, F_GETFL, 0);
@@
-54,7
+60,7
@@
static int set_fd_flags(const int fd)
static int write_setup(XCBConnection *c, XCBAuthInfo *auth_info)
{
static const char pad[3];
static int write_setup(XCBConnection *c, XCBAuthInfo *auth_info)
{
static const char pad[3];
- XCB
Conn
SetupReq out;
+ XCBSetupReq out;
struct iovec parts[6];
int count = 0;
int endian = 0x01020304;
struct iovec parts[6];
int count = 0;
int endian = 0x01020304;
@@
-71,9
+77,9
@@
static int write_setup(XCBConnection *c, XCBAuthInfo *auth_info)
out.protocol_minor_version = X_PROTOCOL_REVISION;
out.authorization_protocol_name_len = 0;
out.authorization_protocol_data_len = 0;
out.protocol_minor_version = X_PROTOCOL_REVISION;
out.authorization_protocol_name_len = 0;
out.authorization_protocol_data_len = 0;
- parts[count].iov_len = sizeof(XCB
Conn
SetupReq);
+ parts[count].iov_len = sizeof(XCBSetupReq);
parts[count++].iov_base = &out;
parts[count++].iov_base = &out;
- parts[count].iov_len = XCB_PAD(sizeof(XCB
Conn
SetupReq));
+ parts[count].iov_len = XCB_PAD(sizeof(XCBSetupReq));
parts[count++].iov_base = (char *) pad;
if(auth_info)
parts[count++].iov_base = (char *) pad;
if(auth_info)
@@
-101,21
+107,21
@@
static int write_setup(XCBConnection *c, XCBAuthInfo *auth_info)
static int read_setup(XCBConnection *c)
{
/* Read the server response */
static int read_setup(XCBConnection *c)
{
/* Read the server response */
- c->setup = malloc(sizeof(XCB
ConnSetupGenericRep
));
+ c->setup = malloc(sizeof(XCB
SetupGeneric
));
if(!c->setup)
return 0;
if(!c->setup)
return 0;
- if(_xcb_in_read_block(c, c->setup, sizeof(XCB
ConnSetupGenericRep)) != sizeof(XCBConnSetupGenericRep
))
+ if(_xcb_in_read_block(c, c->setup, sizeof(XCB
SetupGeneric)) != sizeof(XCBSetupGeneric
))
return 0;
{
return 0;
{
- void *tmp = realloc(c->setup, c->setup->length * 4 + sizeof(XCB
ConnSetupGenericRep
));
+ void *tmp = realloc(c->setup, c->setup->length * 4 + sizeof(XCB
SetupGeneric
));
if(!tmp)
return 0;
c->setup = tmp;
}
if(!tmp)
return 0;
c->setup = tmp;
}
- if(_xcb_in_read_block(c, (char *) c->setup + sizeof(XCB
ConnSetupGenericRep
), c->setup->length * 4) <= 0)
+ if(_xcb_in_read_block(c, (char *) c->setup + sizeof(XCB
SetupGeneric
), c->setup->length * 4) <= 0)
return 0;
/* 0 = failed, 2 = authenticate, 1 = success */
return 0;
/* 0 = failed, 2 = authenticate, 1 = success */
@@
-123,15
+129,15
@@
static int read_setup(XCBConnection *c)
{
case 0: /* failed */
{
{
case 0: /* failed */
{
- XCB
ConnSetupFailedRep *setup = (XCBConnSetupFailedRep
*) c->setup;
- write(STDERR_FILENO, XCB
ConnSetupFailedRepReason(setup), XCBConnSetupFailedRep
ReasonLength(setup));
+ XCB
SetupFailed *setup = (XCBSetupFailed
*) c->setup;
+ write(STDERR_FILENO, XCB
SetupFailedReason(setup), XCBSetupFailed
ReasonLength(setup));
return 0;
}
case 2: /* authenticate */
{
return 0;
}
case 2: /* authenticate */
{
- XCB
ConnSetupAuthenticateRep *setup = (XCBConnSetupAuthenticateRep
*) c->setup;
- write(STDERR_FILENO, XCB
ConnSetupAuthenticateRepReason(setup), XCBConnSetupAuthenticateRep
ReasonLength(setup));
+ XCB
SetupAuthenticate *setup = (XCBSetupAuthenticate
*) c->setup;
+ write(STDERR_FILENO, XCB
SetupAuthenticateReason(setup), XCBSetupAuthenticate
ReasonLength(setup));
return 0;
}
}
return 0;
}
}
@@
-169,7
+175,7
@@
static int write_vec(XCBConnection *c, struct iovec **vector, int *count)
/* Public interface */
/* Public interface */
-
XCBConnSetupSuccessRe
p *XCBGetSetup(XCBConnection *c)
+
const XCBSetu
p *XCBGetSetup(XCBConnection *c)
{
/* doesn't need locking because it's never written to. */
return c->setup;
{
/* doesn't need locking because it's never written to. */
return c->setup;
@@
-253,7
+259,11
@@
int _xcb_conn_wait(XCBConnection *c, pthread_cond_t *cond, struct iovec **vector
}
pthread_mutex_unlock(&c->iolock);
}
pthread_mutex_unlock(&c->iolock);
- ret = select(c->fd + 1, &rfds, &wfds, 0, 0) > 0;
+ do {
+ ret = select(c->fd + 1, &rfds, &wfds, 0, 0);
+ } while (ret == -1 && errno == EINTR);
+ if (ret < 0)
+ ret = 0;
pthread_mutex_lock(&c->iolock);
if(ret)
pthread_mutex_lock(&c->iolock);
if(ret)