# HG changeset patch # User Elliott Sales de Andrade # Date 1213940178 0 # Node ID fd276936164f68b4587e3b4c02f8c475097215a7 # Parent 20da64b2e10415c13449c34cac8f87ca1182d453 Make errors when sending OIM's more visible. Also, msn_session_report_user doesn't modify msg, so it can be const. References #5379. diff -r 20da64b2e104 -r fd276936164f libpurple/protocols/msn/oim.c --- a/libpurple/protocols/msn/oim.c Fri Jun 20 05:15:49 2008 +0000 +++ b/libpurple/protocols/msn/oim.c Fri Jun 20 05:36:18 2008 +0000 @@ -333,6 +333,32 @@ g_queue_push_head(oim->send_queue, msg); msn_oim_send_msg(oim); } + } else { + /* Report the error */ + const char *str_reason; + + if (g_str_equal(faultcode_str, "q0:SystemUnavailable")) { + str_reason = _("Message was not sent because the system is " + "unavailable. This normally happens when the " + "user is blocked or does not exist."); + + } else if (g_str_equal(faultcode_str, "q0:SenderThrottleLimitExceeded")) { + str_reason = _("Message was not sent because messages " + "are being sent too quickly."); + + } else if (g_str_equal(faultcode_str, "q0:InvalidContent")) { + str_reason = _("Message was not sent because an unknown " + "encoding error occured."); + + } else { + str_reason = _("Message was not sent because an unknown " + "error occured."); + } + + msn_session_report_user(oim->session, msg->to_member, + str_reason, PURPLE_MESSAGE_ERROR); + msn_session_report_user(oim->session, msg->to_member, + msg->oim_msg, PURPLE_MESSAGE_RAW); } g_free(faultcode_str); diff -r 20da64b2e104 -r fd276936164f libpurple/protocols/msn/session.c --- a/libpurple/protocols/msn/session.c Fri Jun 20 05:15:49 2008 +0000 +++ b/libpurple/protocols/msn/session.c Fri Jun 20 05:36:18 2008 +0000 @@ -192,7 +192,7 @@ * passport - the one want to talk to you */ void -msn_session_report_user(MsnSession *session,const char *passport,char *msg,PurpleMessageFlags flags) +msn_session_report_user(MsnSession *session,const char *passport,const char *msg,PurpleMessageFlags flags) { PurpleConversation * conv; diff -r 20da64b2e104 -r fd276936164f libpurple/protocols/msn/session.h --- a/libpurple/protocols/msn/session.h Fri Jun 20 05:15:49 2008 +0000 +++ b/libpurple/protocols/msn/session.h Fri Jun 20 05:36:18 2008 +0000 @@ -232,6 +232,6 @@ /*post message to User*/ void msn_session_report_user(MsnSession *session,const char *passport, - char *msg,PurpleMessageFlags flags); + const char *msg,PurpleMessageFlags flags); #endif /* _MSN_SESSION_H_ */