diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2010-03-29 20:03:44 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2010-03-29 20:03:44 +0000 |
commit | e00fb7bd2d8eed482d6d9eac1d7fec09e079a25b (patch) | |
tree | 04db289d79ecdc38847e22182d9c5d33d4359ed3 /desktop/netsurf.c | |
parent | 7e6752726790043bc14c1843690cf9c7d32a6bc6 (diff) | |
download | netsurf-e00fb7bd2d8eed482d6d9eac1d7fec09e079a25b.tar.gz netsurf-e00fb7bd2d8eed482d6d9eac1d7fec09e079a25b.tar.bz2 |
second pass at startup refactor removing the gui_init callback
svn path=/trunk/netsurf/; revision=10205
Diffstat (limited to 'desktop/netsurf.c')
-rw-r--r-- | desktop/netsurf.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/desktop/netsurf.c b/desktop/netsurf.c index ba9a45fae..248f6fef0 100644 --- a/desktop/netsurf.c +++ b/desktop/netsurf.c @@ -38,10 +38,12 @@ #include "desktop/netsurf.h" #include "desktop/browser.h" #include "desktop/gui.h" +#include "desktop/options.h" #include "utils/log.h" #include "utils/url.h" #include "utils/utf8.h" #include "utils/utils.h" +#include "utils/messages.h" bool netsurf_quit = false; bool verbose_log = false; @@ -55,7 +57,10 @@ static void *netsurf_lwc_alloc(void *ptr, size_t len, void *pw) * Initialise components used by gui NetSurf. */ -void netsurf_init(int argc, char** argv) +nserror netsurf_init(int *pargc, + char ***pargv, + const char *options, + const char *messages) { struct utsname utsname; @@ -75,13 +80,16 @@ void netsurf_init(int argc, char** argv) stdout = stderr; #endif - if ((argc > 1) && (argv[1][0] == '-') && (argv[1][1] == 'v') && (argv[1][2] == 0)) { + if (((*pargc) > 1) && + ((*pargv)[1][0] == '-') && + ((*pargv)[1][1] == 'v') && + ((*pargv)[1][2] == 0)) { int argcmv; verbose_log = true; - for (argcmv = 2; argcmv < argc; argcmv++) { - argv[argcmv - 1] = argv[argcmv]; + for (argcmv = 2; argcmv < (*pargc); argcmv++) { + (*pargv)[argcmv - 1] = (*pargv)[argcmv]; } - argc--; + (*pargc)--; #ifndef HAVE_STDOUT gui_stdout(); @@ -100,13 +108,24 @@ void netsurf_init(int argc, char** argv) utsname.nodename, utsname.release, utsname.version, utsname.machine)); + LOG(("Using '%s' for Options file", options)); + options_read(options); + + LOG(("Using '%s' as Messages file", messages)); + messages_load(messages); + lwc_initialise(netsurf_lwc_alloc, NULL, 0); + url_init(); - gui_init(argc, argv); + setlocale(LC_ALL, "C"); + fetch_init(); + /** \todo The frontend needs to provide the llcache_query_handler */ llcache_initialise(NULL, NULL); + + return NSERROR_OK; } |