summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2010-03-29 20:03:44 +0000
committerVincent Sanders <vince@netsurf-browser.org>2010-03-29 20:03:44 +0000
commite00fb7bd2d8eed482d6d9eac1d7fec09e079a25b (patch)
tree04db289d79ecdc38847e22182d9c5d33d4359ed3 /desktop
parent7e6752726790043bc14c1843690cf9c7d32a6bc6 (diff)
downloadnetsurf-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')
-rw-r--r--desktop/gui.h1
-rw-r--r--desktop/netsurf.c31
-rw-r--r--desktop/netsurf.h3
3 files changed, 27 insertions, 8 deletions
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 <stdbool.h>
+#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);