diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2010-01-06 16:32:59 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2010-01-06 16:32:59 +0000 |
commit | f3a77d3c00c095a53f37aa7efb39d56168799596 (patch) | |
tree | 0bd2269afe0edd5018c5d231c95a5011002c83cf /src/rufl_quit.c | |
parent | 628079a91ca6d86a7915906d266e6fe5593bb846 (diff) | |
download | librufl-f3a77d3c00c095a53f37aa7efb39d56168799596.tar.gz librufl-f3a77d3c00c095a53f37aa7efb39d56168799596.tar.bz2 |
Port to core buildsystem.
The python module (and associated make runes) need some love (as does non-GCC building with the core buildsystem in general)
svn path=/trunk/rufl/; revision=9792
Diffstat (limited to 'src/rufl_quit.c')
-rw-r--r-- | src/rufl_quit.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/rufl_quit.c b/src/rufl_quit.c new file mode 100644 index 0000000..fc429c0 --- /dev/null +++ b/src/rufl_quit.c @@ -0,0 +1,49 @@ +/* + * This file is part of RUfl + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license + * Copyright 2006 James Bursa <james@semichrome.net> + */ + +#include <stdlib.h> +#include "oslib/font.h" +#include "rufl_internal.h" + + +/** + * Free all resources used by the library. + */ + +void rufl_quit(void) +{ + unsigned int i; + + if (!rufl_font_list) + return; + + for (i = 0; i != rufl_font_list_entries; i++) { + free(rufl_font_list[i].identifier); + free(rufl_font_list[i].charset); + } + free(rufl_font_list); + rufl_font_list = 0; + + for (i = 0; i != rufl_family_list_entries; i++) + free((void *) rufl_family_list[i]); + free(rufl_family_list); + free(rufl_family_map); + rufl_family_list = 0; + + for (i = 0; i != rufl_CACHE_SIZE; i++) { + if (rufl_cache[i].font != rufl_CACHE_NONE) { + xfont_lose_font(rufl_cache[i].f); + rufl_cache[i].font = rufl_CACHE_NONE; + } + } + + free(rufl_family_menu); + rufl_family_menu = 0; + + free(rufl_substitution_table); + rufl_substitution_table = 0; +} |