comparison libgaim/protocols/msn/command.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 e354528c4163
children 9755b2f7bb0f
comparison
equal deleted inserted replaced
20389:e354528c4163 20390:d634f88e25d8
110 msn_command_from_string(const char *string) 110 msn_command_from_string(const char *string)
111 { 111 {
112 MsnCommand *cmd; 112 MsnCommand *cmd;
113 char *tmp; 113 char *tmp;
114 char *param_start; 114 char *param_start;
115 char *param;
116 int c;
117 115
118 g_return_val_if_fail(string != NULL, NULL); 116 g_return_val_if_fail(string != NULL, NULL);
119 117
120 tmp = g_strdup(string); 118 tmp = g_strdup(string);
121 param_start = strchr(tmp, ' '); 119 param_start = strchr(tmp, ' ');
125 123
126 if (param_start) 124 if (param_start)
127 { 125 {
128 *param_start++ = '\0'; 126 *param_start++ = '\0';
129 cmd->params = g_strsplit(param_start, " ", 0); 127 cmd->params = g_strsplit(param_start, " ", 0);
128 }
129
130 if (cmd->params != NULL)
131 {
132 char *param;
133 int c;
130 134
131 for (c = 0; cmd->params[c]; c++); 135 for (c = 0; cmd->params[c]; c++);
132 cmd->param_count = c; 136 cmd->param_count = c;
133 137
134 param = cmd->params[0]; 138 param = cmd->params[0];
135 139
136 cmd->trId = is_num(param) ? atoi(param) : 0; 140 cmd->trId = is_num(param) ? atoi(param) : 0;
137 } 141 }else{
138 else
139 cmd->trId = 0; 142 cmd->trId = 0;
140 } 143 }
144
141 /*add payload Length checking*/ 145 /*add payload Length checking*/
142 msn_set_payload_len(cmd); 146 msn_set_payload_len(cmd);
143 gaim_debug_info("MaYuan","get payload len:%d\n",cmd->payload_len); 147 gaim_debug_info("MaYuan","get payload len:%d\n",cmd->payload_len);
144 148
145 msn_command_ref(cmd); 149 msn_command_ref(cmd);