Introduction
Introduction Statistics Contact Development Disclaimer Help
tSurf now can handle absolute file paths. This allows better local HTML reading…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit 6cd54e4a3119bd201d95f5d67ffb4bfe28aac653
parent ad794e0f00f56065f4e8d7e4cd1e4b8873938993
Author: Christoph Lohmann <[email protected]>
Date: Sun, 25 Nov 2012 22:31:46 +0100
Surf now can handle absolute file paths. This allows better local HTML
reading.
Diffstat:
M config.mk | 2 +-
M surf.c | 16 +++++++++++++---
2 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/config.mk b/config.mk
t@@ -19,7 +19,7 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-…
-ljavascriptcoregtk-1.0
# flags
-CPPFLAGS = -DVERSION=\"${VERSION}\"
+CPPFLAGS = -DVERSION=\"${VERSION}\" -D_BSD_SOURCE
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
LDFLAGS = -g ${LIBS}
diff --git a/surf.c b/surf.c
t@@ -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>
t@@ -497,14 +498,23 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec,…
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;
- u = g_strrstr(uri, "://") ? g_strdup(uri)
- : g_strdup_printf("http://%s", uri);
+
+ /* 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);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.