# HG changeset patch # User Myhailo Danylenko # Date 1260177363 -7200 # Node ID 64a7428afcb3de6181b30500d2fdbd4b41e66f73 # Parent dc03a24198a962e99900a31e5effbbfa3607732c Print list of options with '/set' diff -r dc03a24198a9 -r 64a7428afcb3 mcabber/src/commands.c --- 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?"); diff -r dc03a24198a9 -r 64a7428afcb3 mcabber/src/settings.c --- a/mcabber/src/settings.c Sat Dec 05 21:51:03 2009 +0100 +++ b/mcabber/src/settings.c Mon Dec 07 11:16:03 2009 +0200 @@ -380,7 +380,7 @@ } // settings_foreach(type, pfunction, param) -// Call pfunction(param, key, value) for each setting with requested type. +// Call pfunction(key, value, param) for each setting with requested type. void settings_foreach(guint type, void (*pfunc)(char *k, char *v, void *param), void *param) {