log_queue_empty();
mutt_log_stop();
cs_free(&Config);
- mutt_window_free();
// TEST43: neomutt (no change to mailbox)
// TEST44: neomutt (change mailbox)
}
if (repeat_error && ErrorBufMessage)
puts(ErrorBuf);
main_exit:
+ crypto_module_free();
+ mutt_window_free();
mutt_envlist_free();
mutt_free_opts();
mutt_free_keys();
}
return NULL;
}
+
+/**
+ * crypto_module_free - Clean up the crypto modules
+ */
+void crypto_module_free(void)
+{
+ struct CryptModule *np = NULL, *tmp = NULL;
+ STAILQ_FOREACH_SAFE(np, &CryptModules, entries, tmp)
+ {
+ STAILQ_REMOVE(&CryptModules, np, CryptModule, entries);
+ FREE(&np);
+ }
+}
+
int crypt_smime_send_menu(struct Header *msg);
int crypt_smime_verify_sender(struct Header *h);
+/* crypt_mod.c */
+void crypto_module_free(void);
+
#endif /* _NCRYPT_NCRYPT_H */