From 406b821b35797081936be3a5c51a35ac23a1ca92 Mon Sep 17 00:00:00 2001 From: James Booth Date: Thu, 6 Aug 2015 01:56:52 +0100 Subject: Show software version result in current window --- src/command/commands.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/command/commands.c') diff --git a/src/command/commands.c b/src/command/commands.c index ede1b395..5e7146fc 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2104,6 +2104,30 @@ cmd_software(ProfWin *window, const char * const command, gchar **args) } break; case WIN_CHAT: + if (args[0]) { + cons_show("No parameter needed to /software when in chat."); + } else { + ProfChatWin *chatwin = (ProfChatWin*)window; + assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK); + + char *resource = NULL; + ChatSession *session = chat_session_get(chatwin->barejid); + if (chatwin->resource_override) { + resource = chatwin->resource_override; + } else if (session && session->resource) { + resource = session->resource; + } + + if (resource) { + GString *fulljid = g_string_new(chatwin->barejid); + g_string_append_printf(fulljid, "/%s", resource); + iq_send_software_version(fulljid->str); + g_string_free(fulljid, TRUE); + } else { + win_println(window, 0, "Unknown resource for /software command."); + } + } + break; case WIN_CONSOLE: if (args[0]) { Jid *myJid = jid_create(jabber_get_fulljid()); -- cgit 1.4.1-2-gfad0