X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/agedu/blobdiff_plain/256c29a27ba79677a78bc676a3cc73ee1aad2d68..995db5990865ab0772e0f0902ba39c1fb9336fa3:/html.c diff --git a/html.c b/html.c index be13590..48f1827 100644 --- a/html.c +++ b/html.c @@ -11,17 +11,14 @@ #include #include +#include "agedu.h" #include "html.h" -#include "malloc.h" +#include "alloc.h" #include "trie.h" #include "index.h" -#define lenof(x) ( sizeof((x)) / sizeof(*(x)) ) - #define MAXCOLOUR 511 -extern char pathsep; - struct html { char *buf; size_t buflen, bufsize; @@ -428,7 +425,7 @@ char *html_query(const void *t, unsigned long index, */ htprintf(ctx, "\n"); trie_getpath(t, index, path); - htprintf(ctx, "agedu: "); + htprintf(ctx, "<title>%s: ", PNAME); htescape(ctx, path, strlen(path), 0); htprintf(ctx, "\n"); htprintf(ctx, "\n"); @@ -446,7 +443,7 @@ char *html_query(const void *t, unsigned long index, */ htprintf(ctx, "

\n"); q = path; - for (p = strchr(path, pathsep); p; p = strchr(p, pathsep)) { + for (p = strchr(path, pathsep); p && p[1]; p = strchr(p, pathsep)) { int doing_href = 0; char c, *zp; @@ -466,6 +463,8 @@ char *html_query(const void *t, unsigned long index, trie_getpath(t, index2, path2); if (!strcmp(path, path2) && cfg->format) { snprintf(href, hreflen, cfg->format, index2); + if (!*href) /* special case that we understand */ + strcpy(href, "./"); htprintf(ctx, "", href); doing_href = 1; }