summaryrefslogtreecommitdiff
path: root/src/rufl_quit.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-01-06 16:32:59 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-01-06 16:32:59 +0000
commitf3a77d3c00c095a53f37aa7efb39d56168799596 (patch)
tree0bd2269afe0edd5018c5d231c95a5011002c83cf /src/rufl_quit.c
parent628079a91ca6d86a7915906d266e6fe5593bb846 (diff)
downloadlibrufl-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.c49
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;
+}