Add default server for private messages
Add option 'default_server', based on a patch from Corris Randall.
--- 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