Replace most uses of strncmp() with prefixcmp()
This is a preparation for replacing all prefix checks with either strip_prefix() or starts_with() when Git 1.8.6 is released. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
这个提交包含在:
		
							
								
								
									
										18
									
								
								cgit.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								cgit.c
									
									
									
									
									
								
							| @@ -863,7 +863,7 @@ static void cgit_parse_args(int argc, const char **argv) | ||||
| 	int scan = 0; | ||||
|  | ||||
| 	for (i = 1; i < argc; i++) { | ||||
| 		if (!strncmp(argv[i], "--cache=", 8)) { | ||||
| 		if (!prefixcmp(argv[i], "--cache=")) { | ||||
| 			ctx.cfg.cache_root = xstrdup(argv[i] + 8); | ||||
| 		} | ||||
| 		if (!strcmp(argv[i], "--nocache")) { | ||||
| @@ -872,28 +872,28 @@ static void cgit_parse_args(int argc, const char **argv) | ||||
| 		if (!strcmp(argv[i], "--nohttp")) { | ||||
| 			ctx.env.no_http = "1"; | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--query=", 8)) { | ||||
| 		if (!prefixcmp(argv[i], "--query=")) { | ||||
| 			ctx.qry.raw = xstrdup(argv[i] + 8); | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--repo=", 7)) { | ||||
| 		if (!prefixcmp(argv[i], "--repo=")) { | ||||
| 			ctx.qry.repo = xstrdup(argv[i] + 7); | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--page=", 7)) { | ||||
| 		if (!prefixcmp(argv[i], "--page=")) { | ||||
| 			ctx.qry.page = xstrdup(argv[i] + 7); | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--head=", 7)) { | ||||
| 		if (!prefixcmp(argv[i], "--head=")) { | ||||
| 			ctx.qry.head = xstrdup(argv[i] + 7); | ||||
| 			ctx.qry.has_symref = 1; | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--sha1=", 7)) { | ||||
| 		if (!prefixcmp(argv[i], "--sha1=")) { | ||||
| 			ctx.qry.sha1 = xstrdup(argv[i] + 7); | ||||
| 			ctx.qry.has_sha1 = 1; | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--ofs=", 6)) { | ||||
| 		if (!prefixcmp(argv[i], "--ofs=")) { | ||||
| 			ctx.qry.ofs = atoi(argv[i] + 6); | ||||
| 		} | ||||
| 		if (!strncmp(argv[i], "--scan-tree=", 12) || | ||||
| 		    !strncmp(argv[i], "--scan-path=", 12)) { | ||||
| 		if (!prefixcmp(argv[i], "--scan-tree=") || | ||||
| 		    !prefixcmp(argv[i], "--scan-path=")) { | ||||
| 			/* HACK: the global snapshot bitmask defines the | ||||
| 			 * set of allowed snapshot formats, but the config | ||||
| 			 * file hasn't been parsed yet so the mask is | ||||
|   | ||||
							
								
								
									
										12
									
								
								parsing.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								parsing.c
									
									
									
									
									
								
							| @@ -142,25 +142,25 @@ struct commitinfo *cgit_parse_commit(struct commit *commit) | ||||
| 	if (p == NULL) | ||||
| 		return ret; | ||||
|  | ||||
| 	if (strncmp(p, "tree ", 5)) | ||||
| 	if (prefixcmp(p, "tree ")) | ||||
| 		die("Bad commit: %s", sha1_to_hex(commit->object.sha1)); | ||||
| 	else | ||||
| 		p += 46; // "tree " + hex[40] + "\n" | ||||
|  | ||||
| 	while (!strncmp(p, "parent ", 7)) | ||||
| 	while (!prefixcmp(p, "parent ")) | ||||
| 		p += 48; // "parent " + hex[40] + "\n" | ||||
|  | ||||
| 	if (p && !strncmp(p, "author ", 7)) { | ||||
| 	if (p && !prefixcmp(p, "author ")) { | ||||
| 		p = parse_user(p + 7, &ret->author, &ret->author_email, | ||||
| 			&ret->author_date); | ||||
| 	} | ||||
|  | ||||
| 	if (p && !strncmp(p, "committer ", 9)) { | ||||
| 	if (p && !prefixcmp(p, "committer ")) { | ||||
| 		p = parse_user(p + 9, &ret->committer, &ret->committer_email, | ||||
| 			&ret->committer_date); | ||||
| 	} | ||||
|  | ||||
| 	if (p && !strncmp(p, "encoding ", 9)) { | ||||
| 	if (p && !prefixcmp(p, "encoding ")) { | ||||
| 		p += 9; | ||||
| 		t = strchr(p, '\n'); | ||||
| 		if (t) { | ||||
| @@ -239,7 +239,7 @@ struct taginfo *cgit_parse_tag(struct tag *tag) | ||||
| 		if (*p == '\n') | ||||
| 			break; | ||||
|  | ||||
| 		if (!strncmp(p, "tagger ", 7)) { | ||||
| 		if (!prefixcmp(p, "tagger ")) { | ||||
| 			p = parse_user(p + 7, &ret->tagger, &ret->tagger_email, | ||||
| 				&ret->tagger_date); | ||||
| 		} else { | ||||
|   | ||||
| @@ -105,7 +105,7 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn) | ||||
| 		return; | ||||
| 	strbuf_setlen(path, pathlen); | ||||
|  | ||||
| 	if (strncmp(base, path->buf, strlen(base))) | ||||
| 	if (prefixcmp(path->buf, base)) | ||||
| 		strbuf_addbuf(&rel, path); | ||||
| 	else | ||||
| 		strbuf_addstr(&rel, path->buf + strlen(base) + 1); | ||||
|   | ||||
| @@ -240,9 +240,9 @@ void cgit_print_refs() | ||||
|  | ||||
| 	html("<table class='list nowrap'>"); | ||||
|  | ||||
| 	if (ctx.qry.path && !strncmp(ctx.qry.path, "heads", 5)) | ||||
| 	if (ctx.qry.path && !prefixcmp(ctx.qry.path, "heads")) | ||||
| 		cgit_print_branches(0); | ||||
| 	else if (ctx.qry.path && !strncmp(ctx.qry.path, "tags", 4)) | ||||
| 	else if (ctx.qry.path && !prefixcmp(ctx.qry.path, "tags")) | ||||
| 		cgit_print_tags(0); | ||||
| 	else { | ||||
| 		cgit_print_branches(0); | ||||
|   | ||||
| @@ -120,7 +120,7 @@ const char *cgit_repobasename(const char *reponame) | ||||
| 	/* strip trailing slashes */ | ||||
| 	while (p && rvbuf[p] == '/') rvbuf[p--] = 0; | ||||
| 	/* strip trailing .git */ | ||||
| 	if (p >= 3 && !strncmp(&rvbuf[p-3], ".git", 4)) { | ||||
| 	if (p >= 3 && !prefixcmp(&rvbuf[p-3], ".git")) { | ||||
| 		p -= 3; rvbuf[p--] = 0; | ||||
| 	} | ||||
| 	/* strip more trailing slashes if any */ | ||||
|   | ||||
| @@ -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 || strncmp(resolved_base, resolved_full, strlen(resolved_base))) { | ||||
| 		if (!resolved_base || !resolved_full || prefixcmp(resolved_full, resolved_base)) { | ||||
| 			free(full_path); | ||||
| 			full_path = NULL; | ||||
| 		} | ||||
|   | ||||
		在新工单中引用
	
	屏蔽一个用户
	 Lukas Fleischer
					Lukas Fleischer