changeset 1226:2521efbf3b72

New (debug) subcommand, buffer list
author Mikael Berthe <mikael@lilotux.net>
date Sat, 19 May 2007 11:56:32 +0200
parents 0e9e9724d643
children 79c396678f1b
files mcabber/src/commands.c mcabber/src/screen.c mcabber/src/screen.h
diffstat 3 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/commands.c	Thu May 17 12:00:18 2007 +0200
+++ b/mcabber/src/commands.c	Sat May 19 11:56:32 2007 +0200
@@ -1308,6 +1308,10 @@
     buffer_date(arg);
   } else if (*subcmd == '%') {
     buffer_percent(subcmd+1, arg);
+#ifdef DEBUG_ENABLE
+  } else if (!strcasecmp(subcmd, "list")) {
+    scr_BufferList();
+#endif
   } else {
     scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
   }
--- a/mcabber/src/screen.c	Thu May 17 12:00:18 2007 +0200
+++ b/mcabber/src/screen.c	Sat May 19 11:56:32 2007 +0200
@@ -2125,6 +2125,28 @@
   update_panels();
 }
 
+#ifdef DEBUG_ENABLE
+//  buffer_list()
+// key: winId/jid
+// value: winbuf structure
+// data: none.
+static void buffer_list(gpointer key, gpointer value, gpointer data)
+{
+  winbuf *win_entry = value;
+  scr_LogPrint(LPRINT_NORMAL, " %s  (%ld)", key,
+               g_list_length(g_list_first(win_entry->bd->hbuf)));
+}
+
+void scr_BufferList(void)
+{
+  scr_LogPrint(LPRINT_NORMAL, "Buffer list:");
+  scr_LogPrint(LPRINT_NORMAL, " [status]  (%ld)",
+               g_list_length(g_list_first(statusWindow->bd->hbuf)));
+  g_hash_table_foreach(winbufhash, buffer_list, NULL);
+  scr_LogPrint(LPRINT_NORMAL, "End of buffer list.");
+}
+#endif
+
 //  scr_set_chatmode()
 // Public function to (un)set chatmode...
 inline void scr_set_chatmode(int enable)
--- a/mcabber/src/screen.h	Thu May 17 12:00:18 2007 +0200
+++ b/mcabber/src/screen.h	Sat May 19 11:56:32 2007 +0200
@@ -136,6 +136,10 @@
 void scr_RosterJumpAlternate(void);
 void scr_BufferScrollUpDown(int updown, unsigned int nblines);
 
+#ifdef DEBUG_ENABLE
+void scr_BufferList(void);
+#endif
+
 void readline_transpose_chars(void);
 void readline_forward_kill_word(void);
 void readline_backward_kill_word(void);