diff -r 3521e34f722a -r f6cda389db48 mcabber/src/screen.c --- 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)