aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2015-02-15 19:20:21 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2015-02-15 19:20:21 +0100
commitc5d6c40916eeeb19a89961cc3b81368c785be06d (patch)
tree1e452af2bcf918856cd9174ba1327a626dc19172 /src
parent0222e77e4cc1445d1c5be2c9d071b497019007bc (diff)
add count field in PrefsParser SymNode_t
Diffstat (limited to 'src')
-rw-r--r--src/prefsparser.cc159
1 files changed, 81 insertions, 78 deletions
diff --git a/src/prefsparser.cc b/src/prefsparser.cc
index 365fe836..ba569c0a 100644
--- a/src/prefsparser.cc
+++ b/src/prefsparser.cc
@@ -39,6 +39,7 @@ typedef struct {
const char *name;
void *pref;
PrefType_t type;
+ int count;
} SymNode_t;
/*
@@ -47,7 +48,7 @@ typedef struct {
static int parseOption(char *name, char *value,
SymNode_t *symbols, int n_symbols)
{
- const SymNode_t *node;
+ SymNode_t *node;
int i;
int st;
@@ -129,6 +130,8 @@ static int parseOption(char *name, char *value,
MSG_WARN("prefs: {%s} IS recognized but not handled!\n", name);
break; /* Not reached */
}
+ node->count++;
+
return 0;
}
@@ -142,91 +145,91 @@ void PrefsParser::parse(FILE *fp)
/* Symbol array, sorted alphabetically */
SymNode_t symbols[] = {
- { "allow_white_bg", &prefs.allow_white_bg, PREFS_BOOL },
- { "white_bg_replacement", &prefs.white_bg_replacement, PREFS_COLOR },
- { "bg_color", &prefs.bg_color, PREFS_COLOR },
- { "buffered_drawing", &prefs.buffered_drawing, PREFS_INT32 },
- { "contrast_visited_color", &prefs.contrast_visited_color, PREFS_BOOL },
+ { "allow_white_bg", &prefs.allow_white_bg, PREFS_BOOL, 0 },
+ { "white_bg_replacement", &prefs.white_bg_replacement, PREFS_COLOR, 0 },
+ { "bg_color", &prefs.bg_color, PREFS_COLOR, 0 },
+ { "buffered_drawing", &prefs.buffered_drawing, PREFS_INT32, 0 },
+ { "contrast_visited_color", &prefs.contrast_visited_color, PREFS_BOOL, 0 },
{ "enterpress_forces_submit", &prefs.enterpress_forces_submit,
- PREFS_BOOL },
- { "focus_new_tab", &prefs.focus_new_tab, PREFS_BOOL },
- { "font_cursive", &prefs.font_cursive, PREFS_STRING },
- { "font_factor", &prefs.font_factor, PREFS_DOUBLE },
- { "font_fantasy", &prefs.font_fantasy, PREFS_STRING },
- { "font_max_size", &prefs.font_max_size, PREFS_INT32 },
- { "font_min_size", &prefs.font_min_size, PREFS_INT32 },
- { "font_monospace", &prefs.font_monospace, PREFS_STRING },
- { "font_sans_serif", &prefs.font_sans_serif, PREFS_STRING },
- { "font_serif", &prefs.font_serif, PREFS_STRING },
- { "fullwindow_start", &prefs.fullwindow_start, PREFS_BOOL },
- { "geometry", NULL, PREFS_GEOMETRY },
- { "home", &prefs.home, PREFS_URL },
- { "http_language", &prefs.http_language, PREFS_STRING },
- { "http_max_conns", &prefs.http_max_conns, PREFS_INT32 },
- { "http_persistent_conns", &prefs.http_persistent_conns, PREFS_BOOL },
- { "http_proxy", &prefs.http_proxy, PREFS_URL },
- { "http_proxyuser", &prefs.http_proxyuser, PREFS_STRING },
- { "http_referer", &prefs.http_referer, PREFS_STRING },
- { "http_user_agent", &prefs.http_user_agent, PREFS_STRING },
- { "limit_text_width", &prefs.limit_text_width, PREFS_BOOL },
- { "adjust_min_width", &prefs.adjust_min_width, PREFS_BOOL },
- { "adjust_table_min_width", &prefs.adjust_table_min_width, PREFS_BOOL },
- { "load_images", &prefs.load_images, PREFS_BOOL },
- { "load_background_images", &prefs.load_background_images, PREFS_BOOL },
- { "load_stylesheets", &prefs.load_stylesheets, PREFS_BOOL },
+ PREFS_BOOL, 0 },
+ { "focus_new_tab", &prefs.focus_new_tab, PREFS_BOOL, 0 },
+ { "font_cursive", &prefs.font_cursive, PREFS_STRING, 0 },
+ { "font_factor", &prefs.font_factor, PREFS_DOUBLE, 0 },
+ { "font_fantasy", &prefs.font_fantasy, PREFS_STRING, 0 },
+ { "font_max_size", &prefs.font_max_size, PREFS_INT32, 0 },
+ { "font_min_size", &prefs.font_min_size, PREFS_INT32, 0 },
+ { "font_monospace", &prefs.font_monospace, PREFS_STRING, 0 },
+ { "font_sans_serif", &prefs.font_sans_serif, PREFS_STRING, 0 },
+ { "font_serif", &prefs.font_serif, PREFS_STRING, 0 },
+ { "fullwindow_start", &prefs.fullwindow_start, PREFS_BOOL, 0 },
+ { "geometry", NULL, PREFS_GEOMETRY, 0 },
+ { "home", &prefs.home, PREFS_URL, 0 },
+ { "http_language", &prefs.http_language, PREFS_STRING, 0 },
+ { "http_max_conns", &prefs.http_max_conns, PREFS_INT32, 0 },
+ { "http_persistent_conns", &prefs.http_persistent_conns, PREFS_BOOL, 0 },
+ { "http_proxy", &prefs.http_proxy, PREFS_URL, 0 },
+ { "http_proxyuser", &prefs.http_proxyuser, PREFS_STRING, 0 },
+ { "http_referer", &prefs.http_referer, PREFS_STRING, 0 },
+ { "http_user_agent", &prefs.http_user_agent, PREFS_STRING, 0 },
+ { "limit_text_width", &prefs.limit_text_width, PREFS_BOOL, 0 },
+ { "adjust_min_width", &prefs.adjust_min_width, PREFS_BOOL, 0 },
+ { "adjust_table_min_width", &prefs.adjust_table_min_width, PREFS_BOOL, 0 },
+ { "load_images", &prefs.load_images, PREFS_BOOL, 0 },
+ { "load_background_images", &prefs.load_background_images, PREFS_BOOL, 0 },
+ { "load_stylesheets", &prefs.load_stylesheets, PREFS_BOOL, 0 },
{ "middle_click_drags_page", &prefs.middle_click_drags_page,
- PREFS_BOOL },
+ PREFS_BOOL, 0 },
{ "middle_click_opens_new_tab", &prefs.middle_click_opens_new_tab,
- PREFS_BOOL },
- { "right_click_closes_tab", &prefs.right_click_closes_tab, PREFS_BOOL },
- { "no_proxy", &prefs.no_proxy, PREFS_STRING },
- { "panel_size", &prefs.panel_size, PREFS_PANEL_SIZE },
- { "parse_embedded_css", &prefs.parse_embedded_css, PREFS_BOOL },
- { "save_dir", &prefs.save_dir, PREFS_STRING },
- { "search_url", &prefs.search_urls, PREFS_STRINGS },
- { "show_back", &prefs.show_back, PREFS_BOOL },
- { "show_bookmarks", &prefs.show_bookmarks, PREFS_BOOL },
- { "show_clear_url", &prefs.show_clear_url, PREFS_BOOL },
- { "show_extra_warnings", &prefs.show_extra_warnings, PREFS_BOOL },
- { "show_filemenu", &prefs.show_filemenu, PREFS_BOOL },
- { "show_forw", &prefs.show_forw, PREFS_BOOL },
- { "show_help", &prefs.show_help, PREFS_BOOL },
- { "show_home", &prefs.show_home, PREFS_BOOL },
- { "show_msg", &prefs.show_msg, PREFS_BOOL },
- { "show_progress_box", &prefs.show_progress_box, PREFS_BOOL },
- { "show_quit_dialog", &prefs.show_quit_dialog, PREFS_BOOL },
- { "show_reload", &prefs.show_reload, PREFS_BOOL },
- { "show_save", &prefs.show_save, PREFS_BOOL },
- { "show_url", &prefs.show_url, PREFS_BOOL },
- { "show_search", &prefs.show_search, PREFS_BOOL },
- { "show_stop", &prefs.show_stop, PREFS_BOOL },
- { "show_tools", &prefs.show_tools, PREFS_BOOL },
- { "show_tooltip", &prefs.show_tooltip, PREFS_BOOL },
- { "show_ui_tooltip", &prefs.show_ui_tooltip, PREFS_BOOL },
- { "small_icons", &prefs.small_icons, PREFS_BOOL },
- { "start_page", &prefs.start_page, PREFS_URL },
- { "theme", &prefs.theme, PREFS_STRING },
+ PREFS_BOOL, 0 },
+ { "right_click_closes_tab", &prefs.right_click_closes_tab, PREFS_BOOL, 0 },
+ { "no_proxy", &prefs.no_proxy, PREFS_STRING, 0 },
+ { "panel_size", &prefs.panel_size, PREFS_PANEL_SIZE, 0 },
+ { "parse_embedded_css", &prefs.parse_embedded_css, PREFS_BOOL, 0 },
+ { "save_dir", &prefs.save_dir, PREFS_STRING, 0 },
+ { "search_url", &prefs.search_urls, PREFS_STRINGS, 0 },
+ { "show_back", &prefs.show_back, PREFS_BOOL, 0 },
+ { "show_bookmarks", &prefs.show_bookmarks, PREFS_BOOL, 0 },
+ { "show_clear_url", &prefs.show_clear_url, PREFS_BOOL, 0 },
+ { "show_extra_warnings", &prefs.show_extra_warnings, PREFS_BOOL, 0 },
+ { "show_filemenu", &prefs.show_filemenu, PREFS_BOOL, 0 },
+ { "show_forw", &prefs.show_forw, PREFS_BOOL, 0 },
+ { "show_help", &prefs.show_help, PREFS_BOOL, 0 },
+ { "show_home", &prefs.show_home, PREFS_BOOL, 0 },
+ { "show_msg", &prefs.show_msg, PREFS_BOOL, 0 },
+ { "show_progress_box", &prefs.show_progress_box, PREFS_BOOL, 0 },
+ { "show_quit_dialog", &prefs.show_quit_dialog, PREFS_BOOL, 0 },
+ { "show_reload", &prefs.show_reload, PREFS_BOOL, 0 },
+ { "show_save", &prefs.show_save, PREFS_BOOL, 0 },
+ { "show_url", &prefs.show_url, PREFS_BOOL, 0 },
+ { "show_search", &prefs.show_search, PREFS_BOOL, 0 },
+ { "show_stop", &prefs.show_stop, PREFS_BOOL, 0 },
+ { "show_tools", &prefs.show_tools, PREFS_BOOL, 0 },
+ { "show_tooltip", &prefs.show_tooltip, PREFS_BOOL, 0 },
+ { "show_ui_tooltip", &prefs.show_ui_tooltip, PREFS_BOOL, 0 },
+ { "small_icons", &prefs.small_icons, PREFS_BOOL, 0 },
+ { "start_page", &prefs.start_page, PREFS_URL, 0 },
+ { "theme", &prefs.theme, PREFS_STRING, 0 },
{ "ui_button_highlight_color", &prefs.ui_button_highlight_color,
- PREFS_COLOR },
- { "ui_fg_color", &prefs.ui_fg_color, PREFS_COLOR },
- { "ui_main_bg_color", &prefs.ui_main_bg_color, PREFS_COLOR },
- { "ui_selection_color", &prefs.ui_selection_color, PREFS_COLOR },
- { "ui_tab_active_bg_color", &prefs.ui_tab_active_bg_color, PREFS_COLOR },
- { "ui_tab_bg_color", &prefs.ui_tab_bg_color, PREFS_COLOR },
- { "ui_tab_active_fg_color", &prefs.ui_tab_active_fg_color, PREFS_COLOR },
- { "ui_tab_fg_color", &prefs.ui_tab_fg_color, PREFS_COLOR },
- { "ui_text_bg_color", &prefs.ui_text_bg_color, PREFS_COLOR },
- { "w3c_plus_heuristics", &prefs.w3c_plus_heuristics, PREFS_BOOL },
- { "penalty_hyphen", &prefs.penalty_hyphen, PREFS_FRACTION_100 },
- { "penalty_hyphen_2", &prefs.penalty_hyphen_2, PREFS_FRACTION_100 },
+ PREFS_COLOR, 0 },
+ { "ui_fg_color", &prefs.ui_fg_color, PREFS_COLOR, 0 },
+ { "ui_main_bg_color", &prefs.ui_main_bg_color, PREFS_COLOR, 0 },
+ { "ui_selection_color", &prefs.ui_selection_color, PREFS_COLOR, 0 },
+ { "ui_tab_active_bg_color", &prefs.ui_tab_active_bg_color, PREFS_COLOR, 0 },
+ { "ui_tab_bg_color", &prefs.ui_tab_bg_color, PREFS_COLOR, 0 },
+ { "ui_tab_active_fg_color", &prefs.ui_tab_active_fg_color, PREFS_COLOR, 0 },
+ { "ui_tab_fg_color", &prefs.ui_tab_fg_color, PREFS_COLOR, 0 },
+ { "ui_text_bg_color", &prefs.ui_text_bg_color, PREFS_COLOR, 0 },
+ { "w3c_plus_heuristics", &prefs.w3c_plus_heuristics, PREFS_BOOL, 0 },
+ { "penalty_hyphen", &prefs.penalty_hyphen, PREFS_FRACTION_100, 0 },
+ { "penalty_hyphen_2", &prefs.penalty_hyphen_2, PREFS_FRACTION_100, 0 },
{ "penalty_em_dash_left", &prefs.penalty_em_dash_left,
- PREFS_FRACTION_100 },
+ PREFS_FRACTION_100, 0 },
{ "penalty_em_dash_right", &prefs.penalty_em_dash_right,
- PREFS_FRACTION_100 },
+ PREFS_FRACTION_100, 0 },
{ "penalty_em_dash_right_2", &prefs.penalty_em_dash_right_2,
- PREFS_FRACTION_100 },
+ PREFS_FRACTION_100, 0 },
{ "stretchability_factor", &prefs.stretchability_factor,
- PREFS_FRACTION_100 }
+ PREFS_FRACTION_100, 0 }
};
// changing the LC_NUMERIC locale (temporarily) to C
// avoids parsing problems with float numbers