Surf now can handle absolute file paths. This allows better local HTML
reading.
This commit is contained in:
		
							parent
							
								
									ad794e0f00
								
							
						
					
					
						commit
						6cd54e4a31
					
				| 
						 | 
				
			
			@ -19,7 +19,7 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0 \
 | 
			
		|||
       -ljavascriptcoregtk-1.0
 | 
			
		||||
 | 
			
		||||
# flags
 | 
			
		||||
CPPFLAGS = -DVERSION=\"${VERSION}\"
 | 
			
		||||
CPPFLAGS = -DVERSION=\"${VERSION}\" -D_BSD_SOURCE
 | 
			
		||||
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
 | 
			
		||||
LDFLAGS = -g ${LIBS}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								surf.c
								
								
								
								
							
							
						
						
									
										12
									
								
								surf.c
								
								
								
								
							| 
						 | 
				
			
			@ -13,6 +13,7 @@
 | 
			
		|||
#include <sys/types.h>
 | 
			
		||||
#include <sys/wait.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <webkit/webkit.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -497,14 +498,23 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) {
 | 
			
		|||
 | 
			
		||||
void
 | 
			
		||||
loaduri(Client *c, const Arg *arg) {
 | 
			
		||||
	char *u;
 | 
			
		||||
	char *u, *rp;
 | 
			
		||||
	const char *uri = (char *)arg->v;
 | 
			
		||||
	Arg a = { .b = FALSE };
 | 
			
		||||
 | 
			
		||||
	if(strcmp(uri, "") == 0)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	/* In case it's a file path. */
 | 
			
		||||
	if(uri[0] == '/') {
 | 
			
		||||
		rp = realpath(uri, NULL);
 | 
			
		||||
		u = g_strdup_printf("file://%s", rp);
 | 
			
		||||
		free(rp);
 | 
			
		||||
	} else {
 | 
			
		||||
		u = g_strrstr(uri, "://") ? g_strdup(uri)
 | 
			
		||||
			: g_strdup_printf("http://%s", uri);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* prevents endless loop */
 | 
			
		||||
	if(c->uri && strcmp(u, c->uri) == 0) {
 | 
			
		||||
		reload(c, &a);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue