changeset 797:5eb701c1bc1f

Multi-line mode: Do not send empty messages
author Mikael Berthe <mikael@lilotux.net>
date Sun, 09 Apr 2006 10:14:39 +0200
parents 79c8823da808
children bbaab5692b0e
files mcabber/src/commands.c mcabber/src/screen.c
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/commands.c	Sun Apr 09 09:43:14 2006 +0200
+++ b/mcabber/src/commands.c	Sun Apr 09 10:14:39 2006 +0200
@@ -822,14 +822,16 @@
   scr_set_chatmode(TRUE);
 
   if (!strcasecmp(subcmd, "send_to")) {
-    int err;
+    int err = FALSE;
     gchar *msg_utf8;
     // Let's send to the specified JID.  We leave now if there
     // has been an error (so we don't leave multi-line mode).
     arg = to_utf8(arg);
     msg_utf8 = to_utf8(scr_get_multiline());
-    err = send_message_to(arg, msg_utf8);
-    g_free(msg_utf8);
+    if (msg_utf8) {
+      err = send_message_to(arg, msg_utf8);
+      g_free(msg_utf8);
+    }
     g_free(arg);
     if (err)
       return;
@@ -850,10 +852,13 @@
 
     buddy_setflags(bud, ROSTER_FLAG_LOCK, TRUE);
     msg_utf8 = to_utf8(scr_get_multiline());
-    send_message(msg_utf8);
-    g_free(msg_utf8);
+    if (msg_utf8) {
+      send_message(msg_utf8);
+      g_free(msg_utf8);
+    }
   }
   scr_set_multimode(FALSE);
+  scr_LogPrint(LPRINT_NORMAL, "You have left multi-line message mode.");
 }
 
 static void do_say_to(char *arg)
--- a/mcabber/src/screen.c	Sun Apr 09 09:43:14 2006 +0200
+++ b/mcabber/src/screen.c	Sun Apr 09 10:14:39 2006 +0200
@@ -1568,7 +1568,7 @@
   if (multimode && multiline)
     return multiline;
   else
-    return "";
+    return NULL;
 }
 
 //  scr_append_multiline(line)