From e00fb7bd2d8eed482d6d9eac1d7fec09e079a25b Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 29 Mar 2010 20:03:44 +0000 Subject: second pass at startup refactor removing the gui_init callback svn path=/trunk/netsurf/; revision=10205 --- desktop/gui.h | 1 - desktop/netsurf.c | 31 +++++++++++++++++++++++++------ desktop/netsurf.h | 3 ++- 3 files changed, 27 insertions(+), 8 deletions(-) (limited to 'desktop') diff --git a/desktop/gui.h b/desktop/gui.h index 4c3ffaf63..95301d1c1 100644 --- a/desktop/gui.h +++ b/desktop/gui.h @@ -61,7 +61,6 @@ typedef enum { GUI_POINTER_DEFAULT, GUI_POINTER_POINT, GUI_POINTER_CARET, #include "desktop/search.h" void gui_stdout(void); -void gui_init(int argc, char** argv); void gui_multitask(void); void gui_poll(bool active); void gui_quit(void); 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; } diff --git a/desktop/netsurf.h b/desktop/netsurf.h index 33733fa40..10c1e00e3 100644 --- a/desktop/netsurf.h +++ b/desktop/netsurf.h @@ -20,6 +20,7 @@ #define _NETSURF_DESKTOP_NETSURF_H_ #include +#include "utils/errors.h" extern bool netsurf_quit; extern bool verbose_log; @@ -27,7 +28,7 @@ extern const char * const netsurf_version; extern const int netsurf_version_major; extern const int netsurf_version_minor; -extern void netsurf_init(int argc, char** argv); +nserror netsurf_init(int *argc, char ***argv, const char *options, const char *messages); extern void netsurf_exit(void); extern int netsurf_main_loop(void); -- cgit v1.2.3