From 35dacc36716bdac66bc2673a6725083dc265d310 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 23 May 2013 11:50:57 +0100 Subject: move the logging initialisation out to be call by frontends This allows each frontend to pass a distinct callback to configure the output file stream appropriately for their use. --- framebuffer/gui.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'framebuffer') diff --git a/framebuffer/gui.c b/framebuffer/gui.c index 3ceb81479..4277557b4 100644 --- a/framebuffer/gui.c +++ b/framebuffer/gui.c @@ -516,6 +516,17 @@ gui_init(int argc, char** argv) urldb_load_cookies(nsoption_charp(cookie_file)); } +/** + * Ensures output logging stream is correctly configured + */ +static bool nslog_stream_configure(FILE *fptr) +{ + /* set log stream to be non-buffering */ + setbuf(fptr, NULL); + + return true; +} + /** Entry point from OS. * * /param argc The number of arguments in the string vector. @@ -531,13 +542,16 @@ main(int argc, char** argv) nsurl *url; nserror error; - setbuf(stderr, NULL); - respaths = fb_init_resource(NETSURF_FB_RESPATH":"NETSURF_FB_FONTPATH); 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); -- cgit v1.2.3