author | Lars Hjemli <hjemli@gmail.com> | 2008-01-13 17:34:37 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-01-13 17:34:37 (UTC) |
commit | 2122c696a34133a616b9ec6d72abe9eb89e728aa (patch) (side-by-side diff) | |
tree | fc3c4693f77b04c1eaf549841d5bae46d9801608 | |
parent | f39c3c99a12154cdafcdc501a821e3fadd3c0602 (diff) | |
parent | b74cc91574a9284d2f6446fd2ef3df6298ed6992 (diff) | |
download | cgit-2122c696a34133a616b9ec6d72abe9eb89e728aa.zip cgit-2122c696a34133a616b9ec6d72abe9eb89e728aa.tar.gz cgit-2122c696a34133a616b9ec6d72abe9eb89e728aa.tar.bz2 |
Merge branch 'stable'
* stable:
CGIT 0.7.2
Use GIT-1.5.3.8
Compare string lengths when parsing the snapshot mask
Default repo description to "[no description]"
-rw-r--r-- | Makefile | 4 | ||||
m--------- | git | 0 | ||||
-rw-r--r-- | shared.c | 2 | ||||
-rw-r--r-- | ui-snapshot.c | 7 |
4 files changed, 7 insertions, 6 deletions
@@ -1,39 +1,39 @@ -CGIT_VERSION = v0.7.1 +CGIT_VERSION = v0.7.2 CGIT_SCRIPT_NAME = cgit.cgi CGIT_SCRIPT_PATH = /var/www/htdocs/cgit CGIT_CONFIG = /etc/cgitrc CACHE_ROOT = /var/cache/cgit SHA1_HEADER = <openssl/sha.h> -GIT_VER = 1.5.3.5 +GIT_VER = 1.5.3.8 GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2 # # Let the user override the above settings. # -include cgit.conf EXTLIBS = git/libgit.a git/xdiff/lib.a -lz -lcrypto OBJECTS = shared.o cache.o parsing.o html.o ui-shared.o ui-repolist.o \ ui-summary.o ui-log.o ui-tree.o ui-commit.o ui-diff.o \ ui-snapshot.o ui-blob.o ui-tag.o ui-refs.o ui-patch.o ifdef NEEDS_LIBICONV EXTLIBS += -liconv endif .PHONY: all git test install clean distclean emptycache force-version get-git all: cgit git VERSION: force-version @./gen-version.sh "$(CGIT_VERSION)" -include VERSION CFLAGS += -g -Wall -Igit CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER)' CFLAGS += -DCGIT_VERSION='"$(CGIT_VERSION)"' CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"' diff --git a/git b/git -Subproject 3f2a7ae2c84c921e11041a5edc2522964fc1cce +Subproject aadd4efa715f56e0eac5ac459c8ff4933b56d4c @@ -89,65 +89,65 @@ int chk_zero(int result, char *msg) int chk_positive(int result, char *msg) { if (result <= 0) die("%s: %s", msg, strerror(errno)); return result; } int chk_non_negative(int result, char *msg) { if (result < 0) die("%s: %s",msg, strerror(errno)); return result; } struct repoinfo *add_repo(const char *url) { struct repoinfo *ret; if (++cgit_repolist.count > cgit_repolist.length) { if (cgit_repolist.length == 0) cgit_repolist.length = 8; else cgit_repolist.length *= 2; cgit_repolist.repos = xrealloc(cgit_repolist.repos, cgit_repolist.length * sizeof(struct repoinfo)); } ret = &cgit_repolist.repos[cgit_repolist.count-1]; ret->url = trim_end(url, '/'); ret->name = ret->url; ret->path = NULL; - ret->desc = NULL; + ret->desc = "[no description]"; ret->owner = NULL; ret->group = cgit_repo_group; ret->defbranch = "master"; ret->snapshots = cgit_snapshots; ret->enable_log_filecount = cgit_enable_log_filecount; ret->enable_log_linecount = cgit_enable_log_linecount; ret->module_link = cgit_module_link; ret->readme = NULL; return ret; } struct repoinfo *cgit_get_repoinfo(const char *url) { int i; struct repoinfo *repo; for (i=0; i<cgit_repolist.count; i++) { repo = &cgit_repolist.repos[i]; if (!strcmp(repo->url, url)) return repo; } return NULL; } void cgit_global_config_cb(const char *name, const char *value) { if (!strcmp(name, "root-title")) cgit_root_title = xstrdup(value); else if (!strcmp(name, "css")) cgit_css = xstrdup(value); else if (!strcmp(name, "logo")) cgit_logo = xstrdup(value); diff --git a/ui-snapshot.c b/ui-snapshot.c index 4d1aa88..dfedd8f 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -101,56 +101,57 @@ void cgit_print_snapshot(struct cacheitem *item, const char *head, args.tree = commit->tree; args.time = commit->date; cgit_print_snapshot_start(sat->mimetype, filename, item); (*sat->write_func)(&args); return; } cgit_print_error(fmt("Unsupported snapshot format: %s", filename)); } void cgit_print_snapshot_links(const char *repo, const char *head, const char *hex, int snapshots) { const struct snapshot_archive_t* sat; char *filename; int f; for(f=0; f<snapshot_archives_len; f++) { sat = &snapshot_archives[f]; if(!(snapshots & sat->bit)) continue; filename = fmt("%s-%s%s", cgit_repobasename(repo), hex, sat->suffix); cgit_snapshot_link(filename, NULL, NULL, (char *)head, (char *)hex, filename); html("<br/>"); } } int cgit_parse_snapshots_mask(const char *str) { const struct snapshot_archive_t* sat; static const char *delim = " \t,:/|;"; - int f, tl, rv = 0; + int f, tl, sl, rv = 0; /* favor legacy setting */ if(atoi(str)) return 1; for(;;) { str += strspn(str,delim); tl = strcspn(str,delim); if(!tl) break; for(f=0; f<snapshot_archives_len; f++) { sat = &snapshot_archives[f]; - if(!(strncmp(sat->suffix, str, tl) && - strncmp(sat->suffix+1, str, tl-1))) { + sl = strlen(sat->suffix); + if((tl == sl && !strncmp(sat->suffix, str, tl)) || + (tl == sl-1 && !strncmp(sat->suffix+1, str, tl-1))) { rv |= sat->bit; break; } } str += tl; } return rv; } /* vim:set sw=8: */ |