aboutsummaryrefslogtreecommitdiff
path: root/wiki.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiki.c')
-rw-r--r--wiki.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/wiki.c b/wiki.c
index 04d1fd9..1c5b59d 100644
--- a/wiki.c
+++ b/wiki.c
@@ -37,9 +37,9 @@ void head(char *page, char *link, char *what) {
printf("<title>%s ยท %s</title>\n", title, page);
printf("<link rel='stylesheet' href='%s/wiki.css'>\n", base);
if(link && what && !strcmp(what, "rediger"))
- printf("<h1><a data-text='%s' href='%s' >%s</a></h1>\n", what, link, page);
+ printf("<h1><a data-text='%s' href='%s'>%s</a></h1>\n", what, link, page);
else if(link && what)
- printf("<h1><a data-text='%s' href='%s/%s' >%s</a></h1>\n", what, base, link, page);
+ printf("<h1><a data-text='%s' href='%s/%s'>%s</a></h1>\n", what, base, link, page);
else
printf("<h1>%s</h1>\n", page);
}
@@ -104,7 +104,7 @@ int edit(char *path) {
if(!writable(path)) return unauthorized(403);
FILE *fp = fopen(path, "r");
char *page = clean(path);
- fp ? head(page, path, "vis") : head(page, NULL, NULL);
+ fp ? head(path, path, "vis") : head(path, NULL, NULL);
char buffer[sysconf(_SC_PAGESIZE)];
printf("<form method='post' enctype='text/plain'>\n");
printf("<p><textarea name=text rows=24 cols=72>");
@@ -140,6 +140,8 @@ int post(char *path) {
int list(char *raw, int dir) {
int len = strlen(raw);
char *pattern = malloc(len + 3);
+ if(len > 0 && raw[len - 1] == '/')
+ raw[len - 1] = '\0';
if(dir)
snprintf(pattern, len + 3, "%s/*", raw);
else
@@ -184,7 +186,7 @@ int view(char *path) {
FILE *fp = fopen(path, "r");
if(!fp) return redirect("?e");
char *page = clean(path);
- writable(path) ? head(page, "?e", "rediger") : head(page, NULL, NULL);
+ writable(path) ? head(path, "?e", "rediger") : head(path, NULL, NULL);
marxup(fp, stdout, NULL);
foot(1);
return 0;