about summary refs log tree commit diff
path: root/surf.c
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2013-03-14 19:14:44 +0100
committerChristoph Lohmann <20h@r-36.net>2013-03-14 19:14:44 +0100
commita69c41ccac3141784140852c9d3935049d188d0f (patch)
tree201d2f358a0a295f60c9949af40c54c4a800170f /surf.c
parentAdding a default font size option. (diff)
downloadsurf-a69c41ccac3141784140852c9d3935049d188d0f.tar.gz
surf-a69c41ccac3141784140852c9d3935049d188d0f.tar.bz2
surf-a69c41ccac3141784140852c9d3935049d188d0f.zip
Support relative paths for surf.
Thanks Kurt Van Dijck <kurt.van.dijck@eia.be>!
Diffstat (limited to 'surf.c')
-rw-r--r--surf.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/surf.c b/surf.c
index 830665a..1ad5ace 100644
--- a/surf.c
+++ b/surf.c
@@ -577,12 +577,13 @@ loaduri(Client *c, const Arg *arg) {
 	char *u, *rp;
 	const char *uri = (char *)arg->v;
 	Arg a = { .b = FALSE };
+	struct stat st;
 
 	if(strcmp(uri, "") == 0)
 		return;
 
 	/* In case it's a file path. */
-	if(uri[0] == '/') {
+	if(stat(uri, &st) == 0) {
 		rp = realpath(uri, NULL);
 		u = g_strdup_printf("file://%s", rp);
 		free(rp);
@@ -889,11 +890,12 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d) {
 			if(ev->atom == atoms[AtomFind]) {
 				arg.b = TRUE;
 				find(c, &arg);
+
 				return GDK_FILTER_REMOVE;
-			}
-			else if(ev->atom == atoms[AtomGo]) {
+			} else if(ev->atom == atoms[AtomGo]) {
 				arg.v = getatom(c, AtomGo);
 				loaduri(c, &arg);
+
 				return GDK_FILTER_REMOVE;
 			}
 		}