takes care of what would otherwise be seen as a memory leak.
/* Copies across all ENGINE methods and pointers. NB: This does *not* change
* reference counts however. */
int ENGINE_cpy(ENGINE *dest, const ENGINE *src);
+/* Cleans the internal engine structure. This should only be used when the
+ * application is about to exit. */
+void ENGINE_cleanup(void);
/* These return values from within the ENGINE structure. These can be useful
* with functional references as well as structural references - it depends
return 1;
}
+void ENGINE_cleanup(void)
+ {
+ ENGINE *iterator = engine_list_head;
+
+ while(iterator != NULL)
+ {
+ ENGINE_remove(iterator);
+ ENGINE_free(iterator);
+ iterator = engine_list_head;
+ }
+ engine_list_flag = 0;
+ return;
+ }
+
int ENGINE_set_id(ENGINE *e, const char *id)
{
if(id == NULL)