aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <mail@cynapses.org>2009-08-25 14:16:41 +0200
committerAndreas Schneider <mail@cynapses.org>2009-08-25 14:16:41 +0200
commit324be0eabd386478caf3acdd34a434041ad5e365 (patch)
treeda4872a645ce63e749b3617c0f96b886d726c930
parentcfe5f83cf8cb59afc16479c06cab2d6310e6420d (diff)
downloadlibssh-324be0eabd386478caf3acdd34a434041ad5e365.tar.gz
libssh-324be0eabd386478caf3acdd34a434041ad5e365.tar.xz
libssh-324be0eabd386478caf3acdd34a434041ad5e365.zip
Fix poll sturct, ISO C doesn't allow unnamed unions.
-rw-r--r--libssh/poll.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/libssh/poll.c b/libssh/poll.c
index 12ef4205..ee45e5ed 100644
--- a/libssh/poll.c
+++ b/libssh/poll.c
@@ -41,7 +41,7 @@ struct ssh_poll {
union {
socket_t fd;
size_t idx;
- };
+ } x;
short events;
ssh_poll_callback cb;
void *cb_data;
@@ -250,7 +250,7 @@ SSH_POLL *ssh_poll_new(socket_t fd, short events, ssh_poll_callback cb,
p = malloc(sizeof(SSH_POLL));
if (p != NULL) {
p->ctx = NULL;
- p->fd = fd;
+ p->x.fd = fd;
p->events = events;
p->cb = cb;
p->cb_data = userdata;
@@ -302,7 +302,7 @@ short ssh_poll_get_events(SSH_POLL *p) {
void ssh_poll_set_events(SSH_POLL *p, short events) {
p->events = events;
if (p->ctx != NULL) {
- p->ctx->pollfds[p->idx].events = events;
+ p->ctx->pollfds[p->x.idx].events = events;
}
}
@@ -338,10 +338,10 @@ void ssh_poll_remove_events(SSH_POLL *p, short events) {
socket_t ssh_poll_get_fd(SSH_POLL *p) {
if (p->ctx != NULL) {
- return p->ctx->pollfds[p->idx].fd;
+ return p->ctx->pollfds[p->x.idx].fd;
}
- return p->fd;
+ return p->x.fd;
}
/**
* @brief Set the callback of a poll object.
@@ -460,12 +460,12 @@ int ssh_poll_ctx_add(SSH_POLL_CTX *ctx, SSH_POLL *p) {
return -1;
}
- fd = p->fd;
- p->idx = ctx->polls_used++;
- ctx->pollptrs[p->idx] = p;
- ctx->pollfds[p->idx].fd = fd;
- ctx->pollfds[p->idx].events = p->events;
- ctx->pollfds[p->idx].revents = 0;
+ fd = p->x.fd;
+ p->x.idx = ctx->polls_used++;
+ ctx->pollptrs[p->x.idx] = p;
+ ctx->pollfds[p->x.idx].fd = fd;
+ ctx->pollfds[p->x.idx].events = p->events;
+ ctx->pollfds[p->x.idx].revents = 0;
p->ctx = ctx;
return 0;
@@ -480,8 +480,8 @@ int ssh_poll_ctx_add(SSH_POLL_CTX *ctx, SSH_POLL *p) {
void ssh_poll_ctx_remove(SSH_POLL_CTX *ctx, SSH_POLL *p) {
size_t i;
- i = p->idx;
- p->fd = ctx->pollfds[i].fd;
+ i = p->x.idx;
+ p->x.fd = ctx->pollfds[i].fd;
p->ctx = NULL;
ctx->polls_used--;