diff mcabber/src/commands.c @ 205:e01bf6d9b4b8

[/trunk] Changeset 217 by mikael * Add the /del command
author mikael
date Sat, 07 May 2005 18:38:40 +0000
parents 24e6bcb589b0
children 766167c0c57f
line wrap: on
line diff
--- a/mcabber/src/commands.c	Sat May 07 17:36:50 2005 +0000
+++ b/mcabber/src/commands.c	Sat May 07 18:38:40 2005 +0000
@@ -35,6 +35,7 @@
 void do_roster(char *arg);
 void do_status(char *arg);
 void do_add(char *arg);
+void do_del(char *arg);
 void do_group(char *arg);
 void do_say(char *arg);
 void do_buffer(char *arg);
@@ -69,7 +70,7 @@
   cmd_add("buffer", "Manipulate current buddy's buffer (chat window)",
           COMPL_BUFFER, 0, &do_buffer);
   cmd_add("clear", "Clear the dialog window", 0, 0, &do_clear);
-  //cmd_add("del");
+  cmd_add("del", "Delete the current buddy", 0, 0, &do_del);
   cmd_add("group", "Change group display settings", COMPL_GROUP, 0, &do_group);
   cmd_add("help", "Display some help", COMPL_CMD, 0, NULL);
   cmd_add("info", "Show basic infos on current buddy", 0, 0, &do_info);
@@ -405,3 +406,20 @@
   g_free(buffer);
 }
 
+void do_del(char *arg)
+{
+  const char *jid;
+
+  if (arg && (*arg)) {
+    scr_LogPrint("Wrong usage");
+    return;
+  }
+
+  if (!current_buddy) return;
+  jid = buddy_getjid(BUDDATA(current_buddy));
+  if (!jid) return;
+
+  scr_LogPrint("Removing <%s>...", jid);
+  jb_delbuddy(jid);
+}
+