neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit 1b09cbd303d889ec2636127584d57b7f1b70c25e
parent 979c460e7f71d153ae79da67b8b21c3412f0fe02
Author: Lars Hjemli <hjemli@gmail.com>
Date:   Sat,  5 Mar 2011 14:01:59 +0100

Merge branch 'stable'

Diffstat:
MMakefile | 4++--
Mcgit.c | 5+++--
Mhtml.c | 2+-
Mui-shared.c | 2+-
4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,4 +1,4 @@ -CGIT_VERSION = v0.8.3.4 +CGIT_VERSION = v0.8.3.5 CGIT_SCRIPT_NAME = cgit.cgi CGIT_SCRIPT_PATH = /var/www/htdocs/cgit CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH) @@ -241,4 +241,4 @@ clean-doc: rm -f cgitrc.5 cgitrc.5.html cgitrc.5.pdf cgitrc.5.xml cgitrc.5.fo get-git: - curl $(GIT_URL) | tar -xj && rm -rf git && mv git-$(GIT_VER) git + curl $(GIT_URL) | tar -xjf - && rm -rf git && mv git-$(GIT_VER) git diff --git a/cgit.c b/cgit.c @@ -752,10 +752,11 @@ int main(int argc, const char **argv) http_parse_querystring(ctx.qry.raw, querystring_cb); /* If virtual-root isn't specified in cgitrc, lets pretend - * that virtual-root equals SCRIPT_NAME. + * that virtual-root equals SCRIPT_NAME, minus any possibly + * trailing slashes. */ if (!ctx.cfg.virtual_root) - ctx.cfg.virtual_root = ctx.cfg.script_name; + ctx.cfg.virtual_root = trim_end(ctx.cfg.script_name, '/'); /* If no url parameter is specified on the querystring, lets * use PATH_INFO as url. This allows cgit to work with virtual diff --git a/html.c b/html.c @@ -277,7 +277,7 @@ char *convert_query_hexchar(char *txt) d1 = hextoint(*(txt+1)); d2 = hextoint(*(txt+2)); if (d1<0 || d2<0) { - memmove(txt, txt+3, n-3); + memmove(txt, txt+3, n-2); return txt-1; } else { *txt = d1 * 16 + d2; diff --git a/ui-shared.c b/ui-shared.c @@ -574,7 +574,7 @@ void cgit_print_http_headers(struct cgit_context *ctx) else if (ctx->page.mimetype) htmlf("Content-Type: %s\n", ctx->page.mimetype); if (ctx->page.size) - htmlf("Content-Length: %ld\n", ctx->page.size); + htmlf("Content-Length: %zd\n", ctx->page.size); if (ctx->page.filename) htmlf("Content-Disposition: inline; filename=\"%s\"\n", ctx->page.filename);