Mercurial > hg
diff mcabber/src/commands.c @ 638:f6946251acdf
"/add" can be used with no jid (it will use the current buddy's jid)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Wed, 28 Dec 2005 11:08:39 +0100 |
parents | f84cce8382e8 |
children | 1cd7f8e3895b |
line wrap: on
line diff
--- a/mcabber/src/commands.c Mon Dec 26 19:42:57 2005 +0100 +++ b/mcabber/src/commands.c Wed Dec 28 11:08:39 2005 +0100 @@ -530,13 +530,28 @@ id = *paramlst; nick = *(paramlst+1); - if (check_jid_syntax(id)) { + if (!id) + nick = NULL; // Allow things like: /add "" nick + else if (!*id) + id = NULL; + + if (id) { + // The JID has been specified. Quick check... + if (check_jid_syntax(id)) { + scr_LogPrint(LPRINT_NORMAL, "<%s> is not a valid Jabber id", id); + id = NULL; + } else { + mc_strtolower(id); + } + } else { + // Add the current buddy + if (current_buddy) + id = (char*)buddy_getjid(BUDDATA(current_buddy)); if (!id) - scr_LogPrint(LPRINT_NORMAL, "Wrong usage"); - else - scr_LogPrint(LPRINT_NORMAL, "<%s> is not a valid Jabber id", id); - } else { - mc_strtolower(id); + scr_LogPrint(LPRINT_NORMAL, "Please specify a Jabber id"); + } + + if (id) { // 2nd parameter = optional nickname jb_addbuddy(id, nick, NULL); scr_LogPrint(LPRINT_LOGNORM, "Sent presence notification request to <%s>",