Mercurial > ~mikael > mcabber > hg
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 |