diff mcabber/src/screen.c @ 807:f6cda389db48

Allow messages with a subject (/msay)
author Mikael Berthe <mikael@lilotux.net>
date Fri, 14 Apr 2006 20:43:11 +0200
parents 3521e34f722a
children 0dbb2be10975
line wrap: on
line diff
--- a/mcabber/src/screen.c	Fri Apr 14 20:38:35 2006 +0200
+++ b/mcabber/src/screen.c	Fri Apr 14 20:43:11 2006 +0200
@@ -78,7 +78,7 @@
 static int roster_hidden;
 static int chatmode;
 static int multimode;
-static char *multiline;
+static char *multiline, *multimode_subj;
 int update_roster;
 int utf8_mode = 0;
 static bool Autoaway;
@@ -1560,23 +1560,36 @@
 // Public function to (un)set multimode...
 // Convention:
 //  0 = disabled / 1 = multimode / 2 = multimode verbatim (commands disabled)
-inline void scr_set_multimode(int enable)
+inline void scr_set_multimode(int enable, char *subject)
 {
-  if (multiline) {
-    g_free(multiline);
-    multiline = NULL;
-  }
+  g_free(multiline);
+  multiline = NULL;
+
+  g_free(multimode_subj);
+  if (enable && subject)
+    multimode_subj = g_strdup(subject);
+  else
+    multimode_subj = NULL;
+
   multimode = enable;
 }
 
 //  scr_get_multiline()
 // Public function to get the current multi-line.
-inline const char *scr_get_multiline()
+inline const char *scr_get_multiline(void)
 {
   if (multimode && multiline)
     return multiline;
-  else
-    return NULL;
+  return NULL;
+}
+
+//  scr_get_multimode_subj()
+// Public function to get the multi-line subject, if any.
+inline const char *scr_get_multimode_subj(void)
+{
+  if (multimode)
+    return multimode_subj;
+  return NULL;
 }
 
 //  scr_append_multiline(line)