| 388 cmdproc->last_cmd->payload_cb = msg_cmd_post; |
388 cmdproc->last_cmd->payload_cb = msg_cmd_post; |
| 389 cmdproc->servconn->payload_len = atoi(cmd->params[2]); |
389 cmdproc->servconn->payload_len = atoi(cmd->params[2]); |
| 390 }else{ |
390 }else{ |
| 391 g_return_if_fail(cmd->payload_cb != NULL); |
391 g_return_if_fail(cmd->payload_cb != NULL); |
| 392 |
392 |
| |
393 gaim_debug_info("MaYuan","MSG payload:{%s}\n",cmd->payload); |
| 393 cmd->payload_cb(cmdproc, cmd, cmd->payload, cmd->payload_len); |
394 cmd->payload_cb(cmdproc, cmd, cmd->payload, cmd->payload_len); |
| 394 } |
395 } |
| 395 } |
396 } |
| 396 |
397 |
| 397 /************************************************************************** |
398 /************************************************************************** |
| 1357 } |
1358 } |
| 1358 |
1359 |
| 1359 static void |
1360 static void |
| 1360 initial_mdata_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
1361 initial_mdata_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
| 1361 { |
1362 { |
| 1362 gaim_debug_info("MaYuan","mdata...{%s} \n",msg->body); |
1363 MsnSession *session; |
| |
1364 xmlnode *mdNode; |
| |
1365 char *end; |
| |
1366 char **elems, **cur, **tokens; |
| |
1367 |
| |
1368 // gaim_debug_info("MaYuan","mdata...{%s} \n",msg->body); |
| |
1369 |
| |
1370 /*new a oim session*/ |
| |
1371 session = cmdproc->session; |
| |
1372 session->oim = msn_oim_new(session); |
| |
1373 |
| |
1374 /*parse offline message data*/ |
| |
1375 elems = g_strsplit(msg->body, "\r\n", 0); |
| |
1376 for (cur = elems; *cur != NULL; cur++){ |
| |
1377 const char *key, *value; |
| |
1378 |
| |
1379 // gaim_debug_info("MaYuan","cur:{%s}\n",*cur); |
| |
1380 tokens = g_strsplit(*cur, ": ", 2); |
| |
1381 |
| |
1382 key = tokens[0]; |
| |
1383 value = tokens[1]; |
| |
1384 |
| |
1385 /*if not MIME content ,then return*/ |
| |
1386 if ((key != NULL) && (!strcmp(key, "Mail-Data")) ){ |
| |
1387 // gaim_debug_info("MaYuan","data:{%s}\n",value); |
| |
1388 msn_parse_oim_msg(session->oim,value); |
| |
1389 g_strfreev(tokens); |
| |
1390 break; |
| |
1391 } |
| |
1392 |
| |
1393 g_strfreev(tokens); |
| |
1394 } |
| |
1395 |
| |
1396 g_strfreev(elems); |
| 1363 } |
1397 } |
| 1364 |
1398 |
| 1365 static void |
1399 static void |
| 1366 email_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
1400 email_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
| 1367 { |
1401 { |