Dynamic relpath for blob pages - stagit-gopher - A git gopher frontend. (mirror) HTML git clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit f33bca44bdd4f6758b9045c02ddbab9adc7b97c0 DIR parent 57d70b0a2d945470402b9a9a61ce72289025a36c HTML Author: Eivind Uggedal <eivind@uggedal.com> Date: Fri, 11 Dec 2015 10:03:19 +0000 Dynamic relpath for blob pages Diffstat: M urmoms.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) --- DIR diff --git a/urmoms.c b/urmoms.c @@ -555,6 +555,8 @@ writeblob(const git_index_entry *entry) { char fpath[PATH_MAX]; char ref[PATH_MAX]; + char tmp[PATH_MAX] = ""; + char *p; git_object *obj = NULL; FILE *fp; @@ -567,7 +569,13 @@ writeblob(const git_index_entry *entry) if (mkdirp(dirname(fpath))) return 1; - relpath = "../"; /* TODO: dynamic relpath based on number of /'s */ + p = fpath; + while (*p) { + if (*p == '/') + strlcat(tmp, "../", sizeof(tmp)); + p++; + } + relpath = tmp; fp = efopen(fpath, "w+b"); writeheader(fp);