about summary refs log tree commit diff stats
path: root/src/command/commands.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-10-29 20:55:37 +0000
committerJames Booth <boothj5@gmail.com>2015-10-29 20:55:37 +0000
commit86354a2bc5edf9552b0d173d92ad3104476b343f (patch)
tree44fcd425bb13bb858dc20686cff60af380c3e03c /src/command/commands.c
parent4e6ea6ad1bab30235cded55b73f484c15cf688ff (diff)
downloadprofani-tty-86354a2bc5edf9552b0d173d92ad3104476b343f.tar.gz
Added /subject append <text>
Diffstat (limited to 'src/command/commands.c')
-rw-r--r--src/command/commands.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/command/commands.c b/src/command/commands.c
index 799a006e..f17fec42 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -2851,6 +2851,23 @@ cmd_subject(ProfWin *window, const char *const command, gchar **args)
         return TRUE;
     }
 
+    if (g_strcmp0(args[0], "append") == 0) {
+        if (args[1]) {
+            char *old_subject = muc_subject(mucwin->roomjid);
+            if (old_subject) {
+                GString *new_subject = g_string_new(old_subject);
+                g_string_append(new_subject, args[1]);
+                message_send_groupchat_subject(mucwin->roomjid, new_subject->str);
+                g_string_free(new_subject, TRUE);
+            } else {
+                win_vprint(window, '!', 0, NULL, NO_EOL, THEME_ROOMINFO, "", "Room does not have a subject, use /subject set <subject>");
+            }
+        } else {
+            cons_bad_cmd_usage(command);
+        }
+        return TRUE;
+    }
+
     if (g_strcmp0(args[0], "clear") == 0) {
         message_send_groupchat_subject(mucwin->roomjid, NULL);
         return TRUE;