Mercurial > pidgin.yaz
diff libgaim/protocols/msn/servconn.c @ 20390:d634f88e25d8
msn.tgz from SF Patch #1621854 from Ka-Hing Cheung
"This tarball brings soc-2006-msnp13 up to head. In addition to that it also
fixes a crash with sending offline messages.
I wasn't able to generate a diff against that branch, svn seems to insist
on diff'ing against HEAD after I run the merge command. After running `svn
merge -r 16309:HEAD https://gaim.svn.sourceforge.net/svnroot/gaim/trunk` on
the soc-2006-msnp13 you can replace the msn directory with the attached
tarball. The fix for offline messaging is on msn.c:901:
if (!session->oim)
session->oim = msn_oim_new(session)"
committer: Richard Laager <rlaager@wiktel.com>
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Sun, 15 Apr 2007 02:18:17 +0000 |
parents | 118fd0dc5b6e |
children | 0b0ecee55091 9755b2f7bb0f |
line wrap: on
line diff
--- a/libgaim/protocols/msn/servconn.c Sun Apr 15 02:10:37 2007 +0000 +++ b/libgaim/protocols/msn/servconn.c Sun Apr 15 02:18:17 2007 +0000 @@ -166,9 +166,9 @@ **************************************************************************/ static void -connect_cb(gpointer data, gint source, const gchar *error_message) +connect_cb(gpointer data, gint source, GaimInputCondition cond) { - MsnServConn *servconn; + MsnServConn *servconn = data; servconn = data; servconn->connect_data = NULL; @@ -203,6 +203,7 @@ msn_servconn_connect(MsnServConn *servconn, const char *host, int port) { MsnSession *session; + int r; g_return_val_if_fail(servconn != NULL, FALSE); g_return_val_if_fail(host != NULL, FALSE); @@ -240,9 +241,9 @@ { servconn->processing = TRUE; return TRUE; + }else{ + return FALSE; } - else - return FALSE; } void @@ -435,14 +436,12 @@ servconn->rx_len -= cur_len; - if (servconn->payload_len) - { + if (servconn->payload_len){ msn_cmdproc_process_payload(servconn->cmdproc, cur, cur_len); servconn->payload_len = 0; - } - else - { + }else{ msn_cmdproc_process_cmd_text(servconn->cmdproc, cur); + servconn->payload_len = servconn->cmdproc->last_cmd->payload_len; } } while (servconn->connected && !servconn->wasted && servconn->rx_len > 0);