diff options
author | defanor <defanor@uberspace.net> | 2020-11-22 23:27:19 +0300 |
---|---|---|
committer | defanor <defanor@uberspace.net> | 2020-11-22 23:27:19 +0300 |
commit | 1f0f919dd2e0266c7a53306408b7c4eccb07888d (patch) | |
tree | 7dd486986c3b3f5215cfe8d35820ee2177a4a203 /examples | |
parent | 89512dc79db51dac151996dc9460472dec00d242 (diff) |
Add the console module
Diffstat (limited to 'examples')
-rw-r--r-- | examples/weechat.c | 18 |
1 files changed, 9 insertions, 9 deletions
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); |