From 1f0f919dd2e0266c7a53306408b7c4eccb07888d Mon Sep 17 00:00:00 2001 From: defanor Date: Sun, 22 Nov 2020 23:27:19 +0300 Subject: Add the console module --- examples/weechat.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/weechat.c b/examples/weechat.c index 904e711..29a592a 100644 --- a/examples/weechat.c +++ b/examples/weechat.c @@ -303,6 +303,12 @@ int my_xml_out_cb (rexmpp_t *s, xmlNodePtr node) { return 0; } +void my_console_print_cb (struct weechat_rexmpp *wr, const char *fmt, va_list args) { + char str[4096]; + vsnprintf(str, 4096, fmt, args); + weechat_printf(wr->server_buffer, "%s", str); +} + int my_input_cb (const void *ptr, void *data, struct t_gui_buffer *buffer, const char *input_data) @@ -332,15 +338,8 @@ my_input_cb (const void *ptr, void *data, &query_close_cb, wr, NULL); weechat_buffer_set(buf, "nicklist", "1"); } - } else if (input_data[0] == 'j' && input_data[1] == ' ') { - const char *jid = input_data + 2; - xmlNodePtr presence = rexmpp_xml_add_id(s, xmlNewNode(NULL, "presence")); - xmlNewProp(presence, "from", s->assigned_jid.full); - xmlNewProp(presence, "to", jid); - xmlNodePtr x = xmlNewNode(NULL, "x"); - xmlNewNs(x, "http://jabber.org/protocol/muc", NULL); - xmlAddChild(presence, x); - rexmpp_send(s, presence); + } else { + rexmpp_console_feed(s, input_data, strlen(input_data)); } return WEECHAT_RC_OK; } @@ -538,6 +537,7 @@ command_xmpp_cb (const void *pointer, void *data, s->xml_in_cb = my_xml_in_cb; s->xml_out_cb = my_xml_out_cb; s->roster_modify_cb = my_roster_modify_cb; + s->console_print_cb = my_console_print_cb; fd_set read_fds, write_fds; FD_ZERO(&read_fds); FD_ZERO(&write_fds); -- cgit v1.2.3