# HG changeset patch # User Ka-Hing Cheung # Date 1229585137 0 # Node ID 98bbeed2481c234235a75b624bf980b5a7f33b3c # Parent a0b89076a16340fd0418802982ed5f49c1030083 a patch from eperez that corrects EOF detection, Fixes #7726 diff -r a0b89076a163 -r 98bbeed2481c libpurple/protocols/msn/soap.c --- a/libpurple/protocols/msn/soap.c Thu Dec 18 06:28:36 2008 +0000 +++ b/libpurple/protocols/msn/soap.c Thu Dec 18 07:25:37 2008 +0000 @@ -521,7 +521,7 @@ /* msn_soap_process could alter errno */ msn_soap_process(conn); - if (cnt < 0 && perrno != EAGAIN) { + if (cnt < 0 && perrno != EAGAIN || cnt == 0) { /* It's possible msn_soap_process closed the ssl connection */ if (conn->ssl) { purple_ssl_close(conn->ssl); diff -r a0b89076a163 -r 98bbeed2481c libpurple/protocols/msnp9/nexus.c --- a/libpurple/protocols/msnp9/nexus.c Thu Dec 18 06:28:36 2008 +0000 +++ b/libpurple/protocols/msnp9/nexus.c Thu Dec 18 07:25:37 2008 +0000 @@ -168,7 +168,7 @@ if (len < 0 && errno == EAGAIN) return; - else if (len < 0) { + else if (len <= 0) { purple_input_remove(nexus->input_handler); nexus->input_handler = 0; g_free(nexus->read_buf); @@ -415,7 +415,7 @@ if (len < 0 && errno == EAGAIN) return; - else if (len < 0) { + else if (len <= 0) { purple_input_remove(nexus->input_handler); nexus->input_handler = 0; g_free(nexus->read_buf);