diff mcabber/src/settings.c @ 867:7f056c566569

Commands /alias & /bind list the key bindings and aliases
author Mikael Berthe <mikael@lilotux.net>
date Wed, 24 May 2006 23:30:31 +0200
parents 1dd19363c73e
children a0ddc43b421e
line wrap: on
line diff
--- a/mcabber/src/settings.c	Wed May 24 22:29:05 2006 +0200
+++ b/mcabber/src/settings.c	Wed May 24 23:30:31 2006 +0200
@@ -323,4 +323,23 @@
   return rstatus;
 }
 
+//  settings_foreach(type, pfunction, param)
+// Call pfunction(param, key, value) for each setting with requested type.
+void settings_foreach(guint type, void (*pfunc)(void *param, char *k, char *v),
+                      void *param)
+{
+  GSList **plist;
+  GSList *ptr;
+  T_setting *setting;
+
+  plist = get_list_ptr(type);
+
+  if (!*plist) return;
+
+  for (ptr = *plist ; ptr; ptr = g_slist_next(ptr)) {
+    setting = ptr->data;
+    pfunc(param, setting->name, setting->value);
+  }
+}
+
 /* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */