diff mcabber/src/commands.c @ 1661:64a7428afcb3

Print list of options with '/set'
author Myhailo Danylenko <isbear@ukrpost.net>
date Mon, 07 Dec 2009 11:16:03 +0200
parents fca9a4c17432
children
line wrap: on
line diff
--- a/mcabber/src/commands.c	Sat Dec 05 21:51:03 2009 +0100
+++ b/mcabber/src/commands.c	Mon Dec 07 11:16:03 2009 +0200
@@ -2103,12 +2103,24 @@
   update_roster = TRUE;
 }
 
+static void print_option_cb(char *k, char *v, void *f)
+{
+  char *format = (char *)f;
+  scr_LogPrint (LPRINT_NORMAL, format, k, v);
+}
+
 static void do_set(char *arg)
 {
   guint assign;
   gchar *option, *value;
   gchar *option_utf8;
 
+  if (!*arg) {
+    // list all set options
+    settings_foreach(SETTINGS_TYPE_OPTION, print_option_cb, "%s = [%s]");
+    return;
+  }
+
   assign = parse_assigment(arg, &option, &value);
   if (!option) {
     scr_LogPrint(LPRINT_NORMAL, "Set what option?");