diff options
Diffstat (limited to 'content')
-rw-r--r-- | content/content_factory.c | 18 | ||||
-rw-r--r-- | content/content_factory.h | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/content/content_factory.c b/content/content_factory.c index 95e7679ad..ae226a4d1 100644 --- a/content/content_factory.c +++ b/content/content_factory.c @@ -45,6 +45,24 @@ typedef struct content_handler_entry { static content_handler_entry *content_handlers; /** + * Clean up after the content factory + */ +void content_factory_fini(void) +{ + content_handler_entry *victim; + + while (content_handlers != NULL) { + victim = content_handlers; + + content_handlers = content_handlers->next; + + lwc_string_unref(victim->mime_type); + + free(victim); + } +} + +/** * Register a handler with the content factory * * \param mime_type MIME type to handle diff --git a/content/content_factory.h b/content/content_factory.h index 330ce6812..aff7a64ac 100644 --- a/content/content_factory.h +++ b/content/content_factory.h @@ -31,6 +31,8 @@ struct llcache_handle; typedef struct content_handler content_handler; +void content_factory_fini(void); + nserror content_factory_register_handler(lwc_string *mime_type, const content_handler *handler); |