# HG changeset patch # User Mikael Berthe # Date 1298829497 -3600 # Node ID 11bda6d8daabe994e78a70ec91a721f515643227 # Parent 3e39a336a992ee26f8be73b249d098898e27d5a6 Add default server for private messages Add option 'default_server', based on a patch from Corris Randall. diff -r 3e39a336a992 -r 11bda6d8daab mcabber/mcabber/commands.c --- 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); diff -r 3e39a336a992 -r 11bda6d8daab mcabber/mcabberrc.example --- 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