diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-05-27 17:27:56 +0100 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-05-28 14:16:11 +0100 |
commit | 182b85b9ec9d1e52c4e3e203aab0df52321f69df (patch) | |
tree | 87383252accc5947499fdf3268cae66f165ec388 /monkey/main.c | |
parent | df62a917da68d83533cfd9031c2048f4080846f0 (diff) | |
download | netsurf-182b85b9ec9d1e52c4e3e203aab0df52321f69df.tar.gz netsurf-182b85b9ec9d1e52c4e3e203aab0df52321f69df.tar.bz2 |
make monkey frontend use new options code
Diffstat (limited to 'monkey/main.c')
-rw-r--r-- | monkey/main.c | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/monkey/main.c b/monkey/main.c index 2e373171e..0a9826a3c 100644 --- a/monkey/main.c +++ b/monkey/main.c @@ -92,10 +92,16 @@ static void quit_handler(int argc, char **argv) netsurf_quit = true; } -/* Documented in utils/nsoption.h */ -void gui_options_init_defaults(void) +/** + * Set option defaults for monkey frontend + * + * @param defaults The option table to update. + * @return error status. + */ +static nserror set_defaults(struct nsoption_s *defaults) { - /* Set defaults for absent option strings */ + /* currently no default overrides */ + return NSERROR_OK; } /** @@ -115,7 +121,8 @@ main(int argc, char **argv) char *messages; char *options; char buf[PATH_MAX]; - + nserror ret; + /* Unbuffer stdin/out/err */ setbuf(stdin, NULL); setbuf(stdout, NULL); @@ -123,19 +130,29 @@ main(int argc, char **argv) /* Prep the search paths */ respaths = nsmonkey_init_resource("${HOME}/.netsurf/:${NETSURFRES}:"MONKEY_RESPATH":./monkey/res"); - - options = filepath_find(respaths, "Choices"); - messages = filepath_find(respaths, "Messages"); /* initialise logging. Not fatal if it fails but not much we can do * about it either. */ nslog_init(nslog_stream_configure, &argc, argv); - netsurf_init(&argc, &argv, options, messages); - - free(messages); + /* user options setup */ + ret = nsoption_init(set_defaults, &nsoptions, &nsoptions_default); + if (ret != NSERROR_OK) { + die("Options failed to initialise"); + } + options = filepath_find(respaths, "Choices"); + nsoption_read(options, NULL); free(options); + nsoption_commandline(&argc, argv, NULL); + + /* common initialisation */ + messages = filepath_find(respaths, "Messages"); + ret = netsurf_init(messages); + free(messages); + if (ret != NSERROR_OK) { + die("NetSurf failed to initialise"); + } filepath_sfinddef(respaths, buf, "mime.types", "/etc/"); gtk_fetch_filetype_init(buf); |