diff options
-rw-r--r-- | e-util/ChangeLog | 5 | ||||
-rw-r--r-- | e-util/e-passwords.c | 16 |
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 */ |