From 3c44554ae93fc7798b7ded02ed27f122aaeae7c4 Mon Sep 17 00:00:00 2001 From: Laurent Ghigonis Date: Sun, 2 Dec 2012 06:36:49 +0100 Subject: fix 2 bugs. remove useless function. --- libglouglou/libglouglou.c | 16 +--------------- libglouglou/sendbuf.c | 7 ++++++- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/libglouglou/libglouglou.c b/libglouglou/libglouglou.c index 01355d8..7cf1d6a 100644 --- a/libglouglou/libglouglou.c +++ b/libglouglou/libglouglou.c @@ -25,8 +25,6 @@ if (_verbosity >= 2) \ printf("libgg: %s: XXX: " fmt "\n", __func__, ##__VA_ARGS__) -int server_send(struct gg_server *, struct gg_user *, - void *, int); void cb_srv_receive(evutil_socket_t, short, void *); struct gg_user *user_add(struct gg_server *, struct sockaddr_in *); void user_del(struct gg_server *, struct gg_user *); @@ -150,19 +148,6 @@ gg_server_stop(struct gg_server *srv) * Server - private */ -int -server_send(struct gg_server *srv, struct gg_user *usr, void *data, int size) -{ - struct gg_user *u; - - if (usr) - return user_send(usr, data, size); - else - LIST_FOREACH(u, &srv->user_list, entry) - user_send(u, data, size); /* XXX return error if at least one error ? */ - return 0; -} - void cb_srv_receive(evutil_socket_t fd, short what, void *arg) { struct gg_server *srv; @@ -392,6 +377,7 @@ client_send(struct gg_client *cli, void *data, int size) { int sent; + debug("%d: %x", size, data); sent = sendto(cli->sock, data, size, 0, (struct sockaddr *)&cli->addr, sizeof(struct sockaddr_in)); if (sent == -1) diff --git a/libglouglou/sendbuf.c b/libglouglou/sendbuf.c index 7571cc4..15a7d23 100644 --- a/libglouglou/sendbuf.c +++ b/libglouglou/sendbuf.c @@ -101,15 +101,19 @@ sendbuf_gettoken(struct sendbuf *sbuf, int size) /* * Note that you can still add data to the buffer even if flushing is in * progress + * returns 0 on success or -1 on error */ static int flushbuf(struct sendbuf *sbuf) { int tosend, sent; + if (sbuf->buffer_pos == 0) + return 0; + sbuf->flushing = 1; - tosend = sbuf->buffer_size - sbuf->flushing_pos; + tosend = sbuf->buffer_pos - sbuf->flushing_pos; sent = sbuf->send_func(sbuf->buffer + sbuf->flushing_pos, tosend, sbuf->usrdata); if (sent == -1) { @@ -119,6 +123,7 @@ flushbuf(struct sendbuf *sbuf) sbuf->flushing_pos = sbuf->flushing_pos + sent; return -1; } + sbuf->buffer_pos = 0; sbuf->flushing = 0; sbuf->flushing_pos = 0; -- cgit v1.2.3-59-g8ed1b