[empathy: 4/5] Remove validation from chat_send.



commit c2cbd1de858c0a8a994358fc717054ce32c8b895
Author: Will Thompson <will thompson collabora co uk>
Date:   Wed Aug 26 19:51:49 2009 +0100

    Remove validation from chat_send.
    
    Instead, call empathy_message_new_from_entry (), which parses the
    entered text for us.

 libempathy-gtk/empathy-chat.c |   30 ++++++++----------------------
 1 files changed, 8 insertions(+), 22 deletions(-)
---
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 118baff..a979c9e 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]