libpurple/protocols/yahoo/libymsg.c

branch
soc.2013.gobjectification
changeset 34889
4ea2da14cd0e
parent 34878
41b9075c7714
parent 34304
faf0414a8b51
child 34894
df5ed3731148
child 36574
e9b59dd16117
--- a/libpurple/protocols/yahoo/libymsg.c	Thu Aug 22 00:32:28 2013 +0530
+++ b/libpurple/protocols/yahoo/libymsg.c	Thu Aug 22 01:35:32 2013 +0530
@@ -2336,11 +2336,13 @@
 static void yahoo_p2p_write_pkt(gint source, struct yahoo_packet *pkt)
 {
 	size_t pkt_len;
+	gssize written;
 	guchar *raw_packet;
 
 	/*build the raw packet and send it to the host*/
 	pkt_len = yahoo_packet_build(pkt, 0, 0, 0, &raw_packet);
-	if(write(source, raw_packet, pkt_len) != pkt_len)
+	written = write(source, raw_packet, pkt_len);
+	if (written < 0 || (gsize)written != pkt_len)
 		purple_debug_warning("yahoo","p2p: couldn't write to the source\n");
 	g_free(raw_packet);
 }

mercurial