--- a/libpurple/protocols/zephyr/zephyr.c Tue May 20 10:59:21 2014 +0530 +++ b/libpurple/protocols/zephyr/zephyr.c Sat May 24 02:32:01 2014 +0530 @@ -922,7 +922,8 @@ #endif purple_chat_conversation_add_user(gcc, stripped_sender, ipaddr, PURPLE_CHAT_USER_NONE, TRUE); } - purple_serv_got_chat_in(gc, zt2->id, send_inst_utf8, 0, buf3, time(NULL)); + purple_serv_got_chat_in(gc, zt2->id, send_inst_utf8, + PURPLE_MESSAGE_RECV, buf3, time(NULL)); g_free(send_inst_utf8); free_triple(zt1); @@ -2049,7 +2050,7 @@ return sig; } -static int zephyr_chat_send(PurpleConnection * gc, int id, const char *im, PurpleMessageFlags flags) +static int zephyr_chat_send(PurpleConnection * gc, int id, PurpleMessage *msg) { zephyr_triple *zt; const char *sig; @@ -2076,21 +2077,25 @@ else recipient = local_zephyr_normalize(zephyr,zt->recipient); - zephyr_send_message(zephyr,zt->class,inst,recipient,im,sig,""); + zephyr_send_message(zephyr, zt->class, inst, recipient, + purple_message_get_contents(msg), sig, ""); return 0; } -static int zephyr_send_im(PurpleConnection * gc, const char *who, const char *im, PurpleMessageFlags flags) +static int zephyr_send_im(PurpleConnection *gc, PurpleMessage *msg) { const char *sig; zephyr_account *zephyr = purple_connection_get_protocol_data(gc); - if (flags & PURPLE_MESSAGE_AUTO_RESP) + + if (purple_message_get_flags(msg) & PURPLE_MESSAGE_AUTO_RESP) { sig = "Automated reply:"; - else { + } else { sig = zephyr_get_signature(); } - zephyr_send_message(zephyr,"MESSAGE","PERSONAL",local_zephyr_normalize(zephyr,who),im,sig,""); + zephyr_send_message(zephyr, "MESSAGE", "PERSONAL", + local_zephyr_normalize(zephyr, purple_message_get_recipient(msg)), + purple_message_get_contents(msg), sig, ""); return 1; }