aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2009-08-27 02:51:49 +0800
committerWill Thompson <will.thompson@collabora.co.uk>2009-08-28 04:16:53 +0800
commitc2cbd1de858c0a8a994358fc717054ce32c8b895 (patch)
tree205a854b66e07d932c2e2ace7d8960a7d730ff18
parentc74685b02308c82d355fc59e1aa8491c84a2f114 (diff)
downloadgsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.tar
gsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.tar.gz
gsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.tar.bz2
gsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.tar.lz
gsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.tar.xz
gsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.tar.zst
gsoc2013-empathy-c2cbd1de858c0a8a994358fc717054ce32c8b895.zip
Remove validation from chat_send.
Instead, call empathy_message_new_from_entry (), which parses the entered text for us.
-rw-r--r--libempathy-gtk/empathy-chat.c30
1 files changed, 8 insertions, 22 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 118baff70..a979c9e76 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -396,29 +396,15 @@ chat_send (EmpathyChat *chat,
return;
}
- /* Blacklist messages begining by '/', except for "/me" and "/say"
- * because they are handled in EmpathyMessage */
- if (msg[0] == '/' &&
- !g_str_has_prefix (msg, "/me") &&
- !g_str_has_prefix (msg, "/say")) {
- /* Also allow messages with two slashes before the first space,
- * so it is possible to send an /unix/path */
- int slash_count = 0, i;
- for (i = 0; msg[i] && msg[i] != ' ' && slash_count < 2; i++) {
- if (msg[i] == '/')
- slash_count++;
- }
- if (slash_count == 1) {
- empathy_chat_view_append_event (chat->view,
- _("Unsupported command"));
- return;
- }
- }
+ message = empathy_message_new_from_entry (msg);
- /* We can send the message */
- message = empathy_message_new (msg);
- empathy_tp_chat_send (priv->tp_chat, message);
- g_object_unref (message);
+ if (message == NULL) {
+ empathy_chat_view_append_event (chat->view,
+ _("Unsupported command"));
+ } else {
+ empathy_tp_chat_send (priv->tp_chat, message);
+ g_object_unref (message);
+ }
}
static void