aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/ChangeLog5
-rw-r--r--e-util/e-passwords.c16
2 files changed, 20 insertions, 1 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 4b024cedec..631d33b8a3 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-02 Not Zed <NotZed@Ximian.com>
+
+ * e-passwords.c (e_passwords_forget_passwords): Delete all
+ Passwords-* sections. Should make this work.
+
2003-03-31 Chris Toshok <toshok@ximian.com>
* ename/test-ename-western.c (do_name): print "" if the value is
diff --git a/e-util/e-passwords.c b/e-util/e-passwords.c
index 507fb0bd27..124772cac4 100644
--- a/e-util/e-passwords.c
+++ b/e-util/e-passwords.c
@@ -95,9 +95,23 @@ e_passwords_shutdown ()
void
e_passwords_forget_passwords ()
{
+ void *it;
+ char *key;
+
e_passwords_init ();
- gnome_config_private_clean_section ("/Evolution/Passwords");
+ it = gnome_config_private_init_iterator_sections("/Evolution");
+ while ( (it = gnome_config_iterator_next(it, &key, NULL)) ) {
+ if (0 == strncmp(key, "Passwords-", 10)) {
+ char *section = g_strdup_printf("/Evolution/%s", key);
+
+ gnome_config_private_clean_section (section);
+ g_free(section);
+ }
+ g_free(key);
+ }
+
+ /*gnome_config_private_clean_section ("/Evolution/Passwords-Mail");*/
gnome_config_private_sync_file ("/Evolution");
/* free up the session passwords */