| 663 { |
664 { |
| 664 PurpleIRCv3ConnectionPrivate *priv = NULL; |
665 PurpleIRCv3ConnectionPrivate *priv = NULL; |
| 665 PurpleMessage *message = NULL; |
666 PurpleMessage *message = NULL; |
| 666 GString *str = NULL; |
667 GString *str = NULL; |
| 667 GStrv params = NULL; |
668 GStrv params = NULL; |
| |
669 char *stripped = NULL; |
| 668 const char *command = NULL; |
670 const char *command = NULL; |
| 669 |
671 |
| 670 g_return_if_fail(PURPLE_IRCV3_IS_CONNECTION(connection)); |
672 g_return_if_fail(PURPLE_IRCV3_IS_CONNECTION(connection)); |
| 671 g_return_if_fail(PURPLE_IRCV3_IS_MESSAGE(v3_message)); |
673 g_return_if_fail(PURPLE_IRCV3_IS_MESSAGE(v3_message)); |
| 672 |
674 |
| 683 g_string_append_printf(str, " %s", joined); |
685 g_string_append_printf(str, " %s", joined); |
| 684 |
686 |
| 685 g_free(joined); |
687 g_free(joined); |
| 686 } |
688 } |
| 687 |
689 |
| |
690 stripped = purple_ircv3_formatting_strip(str->str); |
| |
691 g_string_free(str, TRUE); |
| |
692 |
| 688 message = g_object_new( |
693 message = g_object_new( |
| 689 PURPLE_TYPE_MESSAGE, |
694 PURPLE_TYPE_MESSAGE, |
| 690 "author", purple_ircv3_message_get_source(v3_message), |
695 "author", purple_ircv3_message_get_source(v3_message), |
| 691 "contents", str->str, |
696 "contents", stripped, |
| 692 NULL); |
697 NULL); |
| 693 |
698 g_free(stripped); |
| 694 g_string_free(str, TRUE); |
|
| 695 |
699 |
| 696 purple_conversation_write_message(priv->status_conversation, message); |
700 purple_conversation_write_message(priv->status_conversation, message); |
| 697 |
701 |
| 698 g_clear_object(&message); |
702 g_clear_object(&message); |
| 699 } |
703 } |