diff options
| -rw-r--r-- | surf.c | 33 | 
1 files changed, 13 insertions, 20 deletions
| @@ -87,20 +87,24 @@ loadfile(gchar *f) {  	GIOChannel *c = NULL;  	GError *e = NULL;  	GString *code = g_string_new(""); +	GString *uri = g_string_new(f);  	gchar *line;  	/* cannot use fileno in c99 - workaround*/ -	if(strcmp(f, "-") == 0) +	if(strcmp(f, "-") == 0) {  		c = g_io_channel_unix_new(STDIN_FILENO); -	else -		c = g_io_channel_new_file(f, "r", NULL); -	if (c) { -		while(g_io_channel_read_line(c, &line, NULL, NULL, &e) == G_IO_STATUS_NORMAL) { -			g_string_append(code, line); -			g_free(line); +		if (c) { +			while(g_io_channel_read_line(c, &line, NULL, NULL, &e) == G_IO_STATUS_NORMAL) { +				g_string_append(code, line); +				g_free(line); +			} +			webkit_web_view_load_html_string(view, code->str, NULL); +			g_io_channel_shutdown(c, FALSE, NULL);  		} -		webkit_web_view_load_html_string(view, code->str, NULL); -		g_io_channel_shutdown(c, FALSE, NULL); +	} +	else { +		g_string_prepend(uri, "file://"); +		loaduri(uri->str);  	}  } @@ -132,10 +136,6 @@ linkhover(WebKitWebView* page, const gchar* t, const gchar* l, gpointer d) {  }  void -loadstart(WebKitWebView *view, WebKitWebFrame *f, gpointer d) { -} - -void  loadcommit(WebKitWebView *view, WebKitWebFrame *f, gpointer d) {  	gchar *uri; @@ -148,11 +148,6 @@ loadcommit(WebKitWebView *view, WebKitWebFrame *f, gpointer d) {  }  void -loadfinish(WebKitWebView *view, WebKitWebFrame *f, gpointer d) { -	/* ??? TODO */ -} - -void  progresschange(WebKitWebView* view, gint p, gpointer d) {  	progress = p;  	updatetitle(); @@ -208,8 +203,6 @@ void setup(void) {  	g_signal_connect(G_OBJECT(view), "title-changed", G_CALLBACK(titlechange), view);  	g_signal_connect(G_OBJECT(view), "load-progress-changed", G_CALLBACK(progresschange), view);  	g_signal_connect(G_OBJECT(view), "load-committed", G_CALLBACK(loadcommit), view); -	g_signal_connect(G_OBJECT(view), "load-started", G_CALLBACK(loadstart), view); -	g_signal_connect(G_OBJECT(view), "load-finished", G_CALLBACK(loadfinish), view);  	g_signal_connect(G_OBJECT(view), "hovering-over-link", G_CALLBACK(linkhover), view);  	g_signal_connect(G_OBJECT(view), "new-window-policy-decision-requested", G_CALLBACK(newwindow), view);  	g_signal_connect(G_OBJECT(view), "download-requested", G_CALLBACK(download), view); | 
