diff options
Diffstat (limited to 'libpurple/protocols/msn/directconn.c')
-rw-r--r-- | libpurple/protocols/msn/directconn.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libpurple/protocols/msn/directconn.c b/libpurple/protocols/msn/directconn.c index 434944d1e9..7c5b1a5005 100644 --- a/libpurple/protocols/msn/directconn.c +++ b/libpurple/protocols/msn/directconn.c @@ -158,17 +158,20 @@ create_listener(int port) flags = fcntl(fd, F_GETFL); fcntl(fd, F_SETFL, flags | O_NONBLOCK); +#ifndef _WIN32 + fcntl(fd, F_SETFD, FD_CLOEXEC); +#endif return fd; } -static size_t +static gssize msn_directconn_write(MsnDirectConn *directconn, const char *data, size_t len) { char *buffer, *tmp; size_t buf_size; - size_t ret; + gssize ret; guint32 sent_len; g_return_val_if_fail(directconn != NULL, 0); @@ -274,7 +277,8 @@ read_cb(gpointer data, gint source, PurpleInputCondition cond) { MsnDirectConn* directconn; char *body; - size_t len, body_len; + size_t body_len; + gssize len; purple_debug_info("msn", "read_cb: %d, %d\n", source, cond); |