# HG changeset patch # User Mark Doliner # Date 1232966365 0 # Node ID 59fcc215cc27e58a25315300d09689b8bf8d047b # Parent 86abaefccc92175496d31aa5629b47728961a35c Simplify, hoo-boy. Also don't unregister the schemes in purple_certificate_uninit(). The schemes should be unregistered by whoever registered them in the first place (the ssl plugins) diff -r 86abaefccc92 -r 59fcc215cc27 libpurple/certificate.c --- a/libpurple/certificate.c Mon Jan 26 10:38:33 2009 +0000 +++ b/libpurple/certificate.c Mon Jan 26 10:39:25 2009 +0000 @@ -1546,31 +1546,11 @@ void purple_certificate_uninit(void) { - GList *full_list, *l; - - /* Unregister all Schemes */ - full_list = g_list_copy(cert_schemes); /* Make a working copy */ - for (l = full_list; l; l = l->next) { - purple_certificate_unregister_scheme( - (PurpleCertificateScheme *) l->data ); - } - g_list_free(full_list); - /* Unregister all Verifiers */ - full_list = g_list_copy(cert_verifiers); /* Make a working copy */ - for (l = full_list; l; l = l->next) { - purple_certificate_unregister_verifier( - (PurpleCertificateVerifier *) l->data ); - } - g_list_free(full_list); + g_list_foreach(cert_verifiers, (GFunc)purple_certificate_unregister_verifier, NULL); /* Unregister all Pools */ - full_list = g_list_copy(cert_pools); /* Make a working copy */ - for (l = full_list; l; l = l->next) { - purple_certificate_unregister_pool( - (PurpleCertificatePool *) l->data ); - } - g_list_free(full_list); + g_list_foreach(cert_pools, (GFunc)purple_certificate_unregister_pool, NULL); } gpointer