From 36bdb2171f7154fcdf1a24d38c8ce3bd7e448cb1 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Fri, 10 Jan 2014 12:44:35 +0100 Subject: [PATCH] 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.c | 18 +++++++++--------- parsing.c | 12 ++++++------ scan-tree.c | 2 +- ui-refs.c | 4 ++-- ui-shared.c | 2 +- ui-summary.c | 2 +- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/cgit.c b/cgit.c index 1f84da8..e31962d 100644 --- a/cgit.c +++ b/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 diff --git a/parsing.c b/parsing.c index 248b6ee..d740d38 100644 --- a/parsing.c +++ b/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 { diff --git a/scan-tree.c b/scan-tree.c index 1a2ea87..49de658 100644 --- a/scan-tree.c +++ b/scan-tree.c @@ -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); diff --git a/ui-refs.c b/ui-refs.c index 7af6fed..20c91e3 100644 --- a/ui-refs.c +++ b/ui-refs.c @@ -240,9 +240,9 @@ void cgit_print_refs() html(""); - 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); diff --git a/ui-shared.c b/ui-shared.c index d32852f..2c12de7 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -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 */ diff --git a/ui-summary.c b/ui-summary.c index 3a7c7a7..63a5a75 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 || strncmp(resolved_base, resolved_full, strlen(resolved_base))) { + if (!resolved_base || !resolved_full || prefixcmp(resolved_full, resolved_base)) { free(full_path); full_path = NULL; }