diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | cgit.c | 26 | ||||
| m--------- | git | 0 | ||||
| -rw-r--r-- | parsing.c | 12 | ||||
| -rw-r--r-- | scan-tree.c | 10 | ||||
| -rw-r--r-- | ui-clone.c | 2 | ||||
| -rw-r--r-- | ui-log.c | 8 | ||||
| -rw-r--r-- | ui-refs.c | 6 | ||||
| -rw-r--r-- | ui-repolist.c | 2 | ||||
| -rw-r--r-- | ui-shared.c | 2 | ||||
| -rw-r--r-- | ui-snapshot.c | 4 | ||||
| -rw-r--r-- | ui-summary.c | 2 | 
12 files changed, 40 insertions, 36 deletions
| @@ -14,7 +14,7 @@ htmldir = $(docdir)  pdfdir = $(docdir)  mandir = $(prefix)/share/man  SHA1_HEADER = <openssl/sha.h> -GIT_VER = 1.9.2 +GIT_VER = 2.0.0  GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.gz  INSTALL = install  COPYTREE = cp -r @@ -69,7 +69,7 @@ static void repo_config(struct cgit_repo *repo, const char *name, const char *va  		repo->max_stats = cgit_find_stats_period(value, NULL);  	else if (!strcmp(name, "module-link"))  		repo->module_link= xstrdup(value); -	else if (!prefixcmp(name, "module-link.")) { +	else if (starts_with(name, "module-link.")) {  		item = string_list_append(&repo->submodules, xstrdup(name + 12));  		item->util = xstrdup(value);  	} else if (!strcmp(name, "section")) @@ -102,7 +102,7 @@ static void config_cb(const char *name, const char *value)  		ctx.repo = cgit_add_repo(value);  	else if (ctx.repo && !strcmp(name, "repo.path"))  		ctx.repo->path = trim_end(value, '/'); -	else if (ctx.repo && !prefixcmp(name, "repo.")) +	else if (ctx.repo && starts_with(name, "repo."))  		repo_config(ctx.repo, name + 5, value);  	else if (!strcmp(name, "readme") && value != NULL)  		string_list_append(&ctx.cfg.readme, xstrdup(value)); @@ -264,7 +264,7 @@ static void config_cb(const char *name, const char *value)  			ctx.cfg.branch_sort = 1;  		if (!strcmp(value, "name"))  			ctx.cfg.branch_sort = 0; -	} else if (!prefixcmp(name, "mimetype.")) +	} else if (starts_with(name, "mimetype."))  		add_mimetype(name + 9, value);  	else if (!strcmp(name, "include"))  		parse_configfile(expand_macros(value), config_cb); @@ -454,7 +454,7 @@ static char *guess_defbranch(void)  	unsigned char sha1[20];  	ref = resolve_ref_unsafe("HEAD", sha1, 0, NULL); -	if (!ref || prefixcmp(ref, "refs/heads/")) +	if (!ref || !starts_with(ref, "refs/heads/"))  		return "master";  	return xstrdup(ref + 11);  } @@ -941,28 +941,28 @@ static void cgit_parse_args(int argc, const char **argv)  			exit(0);  		} -		if (!prefixcmp(argv[i], "--cache=")) { +		if (starts_with(argv[i], "--cache=")) {  			ctx.cfg.cache_root = xstrdup(argv[i] + 8);  		} else if (!strcmp(argv[i], "--nocache")) {  			ctx.cfg.nocache = 1;  		} else if (!strcmp(argv[i], "--nohttp")) {  			ctx.env.no_http = "1"; -		} else if (!prefixcmp(argv[i], "--query=")) { +		} else if (starts_with(argv[i], "--query=")) {  			ctx.qry.raw = xstrdup(argv[i] + 8); -		} else if (!prefixcmp(argv[i], "--repo=")) { +		} else if (starts_with(argv[i], "--repo=")) {  			ctx.qry.repo = xstrdup(argv[i] + 7); -		} else if (!prefixcmp(argv[i], "--page=")) { +		} else if (starts_with(argv[i], "--page=")) {  			ctx.qry.page = xstrdup(argv[i] + 7); -		} else if (!prefixcmp(argv[i], "--head=")) { +		} else if (starts_with(argv[i], "--head=")) {  			ctx.qry.head = xstrdup(argv[i] + 7);  			ctx.qry.has_symref = 1; -		} else if (!prefixcmp(argv[i], "--sha1=")) { +		} else if (starts_with(argv[i], "--sha1=")) {  			ctx.qry.sha1 = xstrdup(argv[i] + 7);  			ctx.qry.has_sha1 = 1; -		} else if (!prefixcmp(argv[i], "--ofs=")) { +		} else if (starts_with(argv[i], "--ofs=")) {  			ctx.qry.ofs = atoi(argv[i] + 6); -		} else if (!prefixcmp(argv[i], "--scan-tree=") || -		           !prefixcmp(argv[i], "--scan-path=")) { +		} else if (starts_with(argv[i], "--scan-tree=") || +		           starts_with(argv[i], "--scan-path=")) {  			/*  			 * HACK: The global snapshot bit mask defines the set  			 * of allowed snapshot formats, but the config file diff --git a/git b/git -Subproject 0bc85abb7aa9b24b093253018801a0fb43d0112 +Subproject e156455ea49124c140a67623f22a393db62d5d9 @@ -147,25 +147,25 @@ struct commitinfo *cgit_parse_commit(struct commit *commit)  	if (p == NULL)  		return ret; -	if (prefixcmp(p, "tree ")) +	if (!starts_with(p, "tree "))  		die("Bad commit: %s", sha1_to_hex(commit->object.sha1));  	else  		p += 46; // "tree " + hex[40] + "\n" -	while (!prefixcmp(p, "parent ")) +	while (starts_with(p, "parent "))  		p += 48; // "parent " + hex[40] + "\n" -	if (p && !prefixcmp(p, "author ")) { +	if (p && starts_with(p, "author ")) {  		p = parse_user(p + 7, &ret->author, &ret->author_email,  			&ret->author_date);  	} -	if (p && !prefixcmp(p, "committer ")) { +	if (p && starts_with(p, "committer ")) {  		p = parse_user(p + 10, &ret->committer, &ret->committer_email,  			&ret->committer_date);  	} -	if (p && !prefixcmp(p, "encoding ")) { +	if (p && starts_with(p, "encoding ")) {  		p += 9;  		t = strchr(p, '\n');  		if (t) { @@ -244,7 +244,7 @@ struct taginfo *cgit_parse_tag(struct tag *tag)  		if (*p == '\n')  			break; -		if (!prefixcmp(p, "tagger ")) { +		if (starts_with(p, "tagger ")) {  			p = parse_user(p + 7, &ret->tagger, &ret->tagger_email,  				&ret->tagger_date);  		} else { diff --git a/scan-tree.c b/scan-tree.c index 49de658..87fa0c7 100644 --- a/scan-tree.c +++ b/scan-tree.c @@ -61,7 +61,7 @@ static int gitconfig_config(const char *key, const char *value, void *cb)  		config_fn(repo, "desc", value);  	else if (!strcmp(key, "gitweb.category"))  		config_fn(repo, "section", value); -	else if (!prefixcmp(key, "cgit.")) +	else if (starts_with(key, "cgit."))  		config_fn(repo, key + 5, value);  	return 0; @@ -105,7 +105,7 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn)  		return;  	strbuf_setlen(path, pathlen); -	if (prefixcmp(path->buf, base)) +	if (!starts_with(path->buf, base))  		strbuf_addbuf(&rel, path);  	else  		strbuf_addstr(&rel, path->buf + strlen(base) + 1); @@ -115,6 +115,7 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn)  	else if (rel.len && rel.buf[rel.len - 1] == '/')  		strbuf_setlen(&rel, rel.len - 1); +	fprintf(stderr, "add_repo(): %s\n", rel.buf);  	repo = cgit_add_repo(rel.buf);  	config_fn = fn;  	if (ctx.cfg.enable_git_config) { @@ -161,7 +162,8 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn)  			*slash = '\0';  			repo->section = xstrdup(rel.buf);  			*slash = '/'; -			if (!prefixcmp(repo->name, repo->section)) { +			fprintf(stderr, "repo->name %s, repo->section %s\n", repo->name, repo->section); +			if (starts_with(repo->name, repo->section)) {  				repo->name += strlen(repo->section);  				if (*repo->name == '/')  					repo->name++; @@ -184,6 +186,7 @@ static void scan_path(const char *base, const char *path, repo_config_fn fn)  	size_t pathlen = strlen(path);  	struct stat st; +	fprintf(stderr, "scan_path(): %s\n", path);  	if (!dir) {  		fprintf(stderr, "Error opening directory %s: %s (%d)\n",  			path, strerror(errno), errno); @@ -192,6 +195,7 @@ static void scan_path(const char *base, const char *path, repo_config_fn fn)  	strbuf_add(&pathbuf, path, strlen(path));  	if (is_git_dir(pathbuf.buf)) { +		fprintf(stderr, "scan_path() is_git_dir: %s\n", path);  		add_repo(base, &pathbuf, fn);  		goto end;  	} @@ -63,7 +63,7 @@ static void send_file(char *path)  	}  	ctx.page.mimetype = "application/octet-stream";  	ctx.page.filename = path; -	if (prefixcmp(ctx.repo->path, path)) +	if (!starts_with(ctx.repo->path, path))  		ctx.page.filename += strlen(ctx.repo->path) + 1;  	cgit_print_http_headers();  	html_include(path); @@ -63,21 +63,21 @@ void show_commit_decorations(struct commit *commit)  	deco = lookup_decoration(&name_decoration, &commit->object);  	html("<span class='decoration'>");  	while (deco) { -		if (!prefixcmp(deco->name, "refs/heads/")) { +		if (starts_with(deco->name, "refs/heads/")) {  			strncpy(buf, deco->name + 11, sizeof(buf) - 1);  			cgit_log_link(buf, NULL, "branch-deco", buf, NULL,  				      ctx.qry.vpath, 0, NULL, NULL,  				      ctx.qry.showmsg);  		} -		else if (!prefixcmp(deco->name, "tag: refs/tags/")) { +		else if (starts_with(deco->name, "tag: refs/tags/")) {  			strncpy(buf, deco->name + 15, sizeof(buf) - 1);  			cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf);  		} -		else if (!prefixcmp(deco->name, "refs/tags/")) { +		else if (starts_with(deco->name, "refs/tags/")) {  			strncpy(buf, deco->name + 10, sizeof(buf) - 1);  			cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf);  		} -		else if (!prefixcmp(deco->name, "refs/remotes/")) { +		else if (starts_with(deco->name, "refs/remotes/")) {  			if (!ctx.repo->enable_remote_branches)  				goto next;  			strncpy(buf, deco->name + 13, sizeof(buf) - 1); @@ -101,7 +101,7 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)  		return;  	basename = cgit_repobasename(repo->url); -	if (prefixcmp(ref, basename) != 0) { +	if (!starts_with(ref, basename)) {  		if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]))  			ref++;  		if (isdigit(ref[0])) { @@ -239,9 +239,9 @@ void cgit_print_refs()  	html("<table class='list nowrap'>"); -	if (ctx.qry.path && !prefixcmp(ctx.qry.path, "heads")) +	if (ctx.qry.path && starts_with(ctx.qry.path, "heads"))  		cgit_print_branches(0); -	else if (ctx.qry.path && !prefixcmp(ctx.qry.path, "tags")) +	else if (ctx.qry.path && starts_with(ctx.qry.path, "tags"))  		cgit_print_tags(0);  	else {  		cgit_print_branches(0); diff --git a/ui-repolist.c b/ui-repolist.c index 477a949..c2bcce1 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -99,7 +99,7 @@ static int is_in_url(struct cgit_repo *repo)  {  	if (!ctx.qry.url)  		return 1; -	if (repo->url && !prefixcmp(repo->url, ctx.qry.url)) +	if (repo->url && starts_with(repo->url, ctx.qry.url))  		return 1;  	return 0;  } diff --git a/ui-shared.c b/ui-shared.c index 1ede2b0..9dde0a3 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -128,7 +128,7 @@ const char *cgit_repobasename(const char *reponame)  	/* strip trailing slashes */  	while (p && rvbuf[p] == '/') rvbuf[p--] = 0;  	/* strip trailing .git */ -	if (p >= 3 && !prefixcmp(&rvbuf[p-3], ".git")) { +	if (p >= 3 && starts_with(&rvbuf[p-3], ".git")) {  		p -= 3; rvbuf[p--] = 0;  	}  	/* strip more trailing slashes if any */ diff --git a/ui-snapshot.c b/ui-snapshot.c index 3107b05..ea77eb4 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -99,7 +99,7 @@ static const struct cgit_snapshot_format *get_format(const char *filename)  	const struct cgit_snapshot_format *fmt;  	for (fmt = cgit_snapshot_formats; fmt->suffix; fmt++) { -		if (!suffixcmp(filename, fmt->suffix)) +		if (ends_with(filename, fmt->suffix))  			return fmt;  	}  	return NULL; @@ -151,7 +151,7 @@ static const char *get_ref_from_filename(const char *url, const char *filename,  		goto out;  	reponame = cgit_repobasename(url); -	if (prefixcmp(snapshot.buf, reponame) == 0) { +	if (starts_with(snapshot.buf, reponame)) {  		const char *new_start = snapshot.buf;  		new_start += strlen(reponame);  		while (new_start && (*new_start == '-' || *new_start == '_')) diff --git a/ui-summary.c b/ui-summary.c index df99ce1..3728c3e 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -116,7 +116,7 @@ static char* append_readme_path(const char *filename, const char *ref, const cha  	if (!ref) {  		resolved_base = realpath(base_dir, NULL);  		resolved_full = realpath(full_path, NULL); -		if (!resolved_base || !resolved_full || prefixcmp(resolved_full, resolved_base)) { +		if (!resolved_base || !resolved_full || !starts_with(resolved_full, resolved_base)) {  			free(full_path);  			full_path = NULL;  		} | 
