Mercurial > hg
changeset 1943:11bda6d8daab
Add default server for private messages
Add option 'default_server', based on a patch from Corris Randall.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 27 Feb 2011 18:58:17 +0100 |
parents | 3e39a336a992 |
children | 098b7b5b4854 |
files | mcabber/mcabber/commands.c mcabber/mcabberrc.example |
diffstat | 2 files changed, 20 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/mcabber/commands.c Sun Feb 27 18:15:27 2011 +0100 +++ b/mcabber/mcabber/commands.c Sun Feb 27 18:58:17 2011 +0100 @@ -1498,6 +1498,7 @@ { char **paramlst; char *fjid, *msg; + char *uncompletedfjid = NULL; char *file = NULL; LmMessageSubType msg_type = LM_MESSAGE_SUB_TYPE_NOT_SET; bool quiet = FALSE; @@ -1563,9 +1564,24 @@ } else fjid = to_utf8(fjid); + if (!strchr(fjid, JID_DOMAIN_SEPARATOR)) { + const gchar *append_server = settings_opt_get("default_server"); + if (append_server) { + gchar *res = strchr(fjid, JID_RESOURCE_SEPARATOR); + uncompletedfjid = fjid; + if (res) { + *res++ = '\0'; + fjid = g_strdup_printf("%s%c%s%c%s", fjid, JID_DOMAIN_SEPARATOR, append_server, + JID_RESOURCE_SEPARATOR, res); + } else + fjid = g_strdup_printf("%s%c%s", fjid, JID_DOMAIN_SEPARATOR, append_server); + } + } + if (check_jid_syntax(fjid)) { scr_LogPrint(LPRINT_NORMAL, "Please specify a valid Jabber ID."); free_arg_lst(paramlst); + g_free(uncompletedfjid); g_free(fjid); return; } @@ -1584,6 +1600,7 @@ send_message_to(fjid, msg, NULL, msg_type, quiet); + g_free(uncompletedfjid); g_free(fjid); g_free(msg); free_arg_lst(paramlst);
--- a/mcabber/mcabberrc.example Sun Feb 27 18:15:27 2011 +0100 +++ b/mcabber/mcabberrc.example Sun Feb 27 18:58:17 2011 +0100 @@ -16,6 +16,9 @@ # to a specific server. #set server = your.jabber.server +# To automatically append the server to the JID in say_to, use this option: +#set default_server = jabber.org + # If port is not given, mcabber will try to find it out. #set port = 5222