summaryrefslogtreecommitdiff
path: root/libpurple/protocols/msn/directconn.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpurple/protocols/msn/directconn.c')
-rw-r--r--libpurple/protocols/msn/directconn.c10
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);