summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2006-01-01 18:52:30 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2006-01-01 18:52:30 +0000
commitcf657a2ffbb9f1ac4c34e2c2348b8d5a4f2193a3 (patch)
treec0fdd2ea86291fc2f470095571f000b3d727a22c /desktop
parente9601cb35a7e266cdb3e46f436bb6e7a132d8755 (diff)
downloadnetsurf-cf657a2ffbb9f1ac4c34e2c2348b8d5a4f2193a3.tar.gz
netsurf-cf657a2ffbb9f1ac4c34e2c2348b8d5a4f2193a3.tar.bz2
[project @ 2006-01-01 18:52:30 by jmb]
Dump user options to stderr on abort. Dump box tree on failed assertion. Display Red/Yellow hourglass whilst dumping box tree (as this can take some time) svn path=/import/netsurf/; revision=1928
Diffstat (limited to 'desktop')
-rw-r--r--desktop/options.c36
-rw-r--r--desktop/options.h1
2 files changed, 34 insertions, 3 deletions
diff --git a/desktop/options.c b/desktop/options.c
index fa2d29cfe..ad8f17042 100644
--- a/desktop/options.c
+++ b/desktop/options.c
@@ -221,6 +221,36 @@ void options_write(const char *path)
fclose(fp);
}
+/**
+ * Dump user options to stderr
+ */
+void options_dump(void)
+{
+ unsigned int i;
+
+ for (i = 0; i != option_table_entries; i++) {
+ fprintf(stderr, "%s:", option_table[i].key);
+ switch (option_table[i].type) {
+ case OPTION_BOOL:
+ fprintf(stderr, "%c",
+ *((bool *) option_table[i].p) ?
+ '1' : '0');
+ break;
+
+ case OPTION_INTEGER:
+ fprintf(stderr, "%i",
+ *((int *) option_table[i].p));
+ break;
+
+ case OPTION_STRING:
+ if (*((char **) option_table[i].p))
+ fprintf(stderr, "%s",
+ *((char **) option_table[i].p));
+ break;
+ }
+ fprintf(stderr, "\n");
+ }
+}
/**
* Loads a hotlist as a tree from a specified file.
@@ -238,7 +268,7 @@ struct tree *options_load_tree(const char *filename) {
warn_user("HotlistLoadError", messages_get("ParsingFail"));
return NULL;
}
-
+
html = options_find_tree_element((xmlNode *) doc, "html");
body = options_find_tree_element(html, "body");
ul = options_find_tree_element(body, "ul");
@@ -277,7 +307,7 @@ void options_load_tree_directory(xmlNode *ul, struct node *directory) {
char *title;
struct node *dir;
xmlNode *n;
-
+
assert(ul);
assert(directory);
@@ -350,7 +380,7 @@ void options_load_tree_entry(xmlNode *li, struct node *directory) {
"memory exhausted.)");
return;
}
-
+
data = url_store_find(url);
if (!data)
return;
diff --git a/desktop/options.h b/desktop/options.h
index b63d21ce7..ee9c48415 100644
--- a/desktop/options.h
+++ b/desktop/options.h
@@ -48,6 +48,7 @@ extern int option_expire_url;
void options_read(const char *path);
void options_write(const char *path);
+void options_dump(void);
struct tree *options_load_tree(const char *filename);
bool options_save_tree(struct tree *tree, const char *filename,