comparison mcabber/mcabber/commands.c @ 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 932d1b250a55
children 518740bcd78b
comparison
equal deleted inserted replaced
1942:3e39a336a992 1943:11bda6d8daab
1496 1496
1497 static void do_say_to(char *arg) 1497 static void do_say_to(char *arg)
1498 { 1498 {
1499 char **paramlst; 1499 char **paramlst;
1500 char *fjid, *msg; 1500 char *fjid, *msg;
1501 char *uncompletedfjid = NULL;
1501 char *file = NULL; 1502 char *file = NULL;
1502 LmMessageSubType msg_type = LM_MESSAGE_SUB_TYPE_NOT_SET; 1503 LmMessageSubType msg_type = LM_MESSAGE_SUB_TYPE_NOT_SET;
1503 bool quiet = FALSE; 1504 bool quiet = FALSE;
1504 1505
1505 if (!xmpp_is_online()) { 1506 if (!xmpp_is_online()) {
1561 } else 1562 } else
1562 fjid = to_utf8(fjid); 1563 fjid = to_utf8(fjid);
1563 } else 1564 } else
1564 fjid = to_utf8(fjid); 1565 fjid = to_utf8(fjid);
1565 1566
1567 if (!strchr(fjid, JID_DOMAIN_SEPARATOR)) {
1568 const gchar *append_server = settings_opt_get("default_server");
1569 if (append_server) {
1570 gchar *res = strchr(fjid, JID_RESOURCE_SEPARATOR);
1571 uncompletedfjid = fjid;
1572 if (res) {
1573 *res++ = '\0';
1574 fjid = g_strdup_printf("%s%c%s%c%s", fjid, JID_DOMAIN_SEPARATOR, append_server,
1575 JID_RESOURCE_SEPARATOR, res);
1576 } else
1577 fjid = g_strdup_printf("%s%c%s", fjid, JID_DOMAIN_SEPARATOR, append_server);
1578 }
1579 }
1580
1566 if (check_jid_syntax(fjid)) { 1581 if (check_jid_syntax(fjid)) {
1567 scr_LogPrint(LPRINT_NORMAL, "Please specify a valid Jabber ID."); 1582 scr_LogPrint(LPRINT_NORMAL, "Please specify a valid Jabber ID.");
1568 free_arg_lst(paramlst); 1583 free_arg_lst(paramlst);
1584 g_free(uncompletedfjid);
1569 g_free(fjid); 1585 g_free(fjid);
1570 return; 1586 return;
1571 } 1587 }
1572 1588
1573 if (!file) { 1589 if (!file) {
1582 g_free(file); 1598 g_free(file);
1583 } 1599 }
1584 1600
1585 send_message_to(fjid, msg, NULL, msg_type, quiet); 1601 send_message_to(fjid, msg, NULL, msg_type, quiet);
1586 1602
1603 g_free(uncompletedfjid);
1587 g_free(fjid); 1604 g_free(fjid);
1588 g_free(msg); 1605 g_free(msg);
1589 free_arg_lst(paramlst); 1606 free_arg_lst(paramlst);
1590 } 1607 }
1591 1608