-rw-r--r-- | cgit.h | 7 | ||||
-rw-r--r-- | ui-repolist.c | 8 |
2 files changed, 11 insertions, 4 deletions
@@ -192,33 +192,40 @@ extern int chk_positive(int result, char *msg); extern int chk_non_negative(int result, char *msg); extern char *trim_end(const char *str, char c); extern char *strlpart(char *txt, int maxlen); extern char *strrpart(char *txt, int maxlen); extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, int flags, void *cb_data); extern void *cgit_free_commitinfo(struct commitinfo *info); extern int cgit_diff_files(const unsigned char *old_sha1, const unsigned char *new_sha1, linediff_fn fn); extern void cgit_diff_tree(const unsigned char *old_sha1, const unsigned char *new_sha1, filepair_fn fn, const char *prefix); extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); extern char *fmt(const char *format,...); extern struct commitinfo *cgit_parse_commit(struct commit *commit); extern struct taginfo *cgit_parse_tag(struct tag *tag); extern void cgit_parse_url(const char *url); extern const char *cgit_repobasename(const char *reponame); extern int cgit_parse_snapshots_mask(const char *str); +/* libgit.a either links against or compiles its own implementation of + * strcasestr(), and we'd like to reuse it. Simply re-declaring it + * seems to do the trick. + */ +extern char *strcasestr(const char *haystack, const char *needle); + + #endif /* CGIT_H */ diff --git a/ui-repolist.c b/ui-repolist.c index a7de453..7a7e95a 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -19,71 +19,71 @@ time_t read_agefile(char *path) if (!(f = fopen(path, "r"))) return -1; fgets(buf, sizeof(buf), f); fclose(f); if (parse_date(buf, buf2, sizeof(buf2))) return strtoul(buf2, NULL, 10); else return 0; } static void print_modtime(struct cgit_repo *repo) { char *path; struct stat s; path = fmt("%s/%s", repo->path, ctx.cfg.agefile); if (stat(path, &s) == 0) { cgit_print_age(read_agefile(path), -1, NULL); return; } path = fmt("%s/refs/heads/%s", repo->path, repo->defbranch); if (stat(path, &s) != 0) return; cgit_print_age(s.st_mtime, -1, NULL); } int is_match(struct cgit_repo *repo) { if (!ctx.qry.search) return 1; - if (repo->url && strstr(repo->url, ctx.qry.search)) + if (repo->url && strcasestr(repo->url, ctx.qry.search)) return 1; - if (repo->name && strstr(repo->name, ctx.qry.search)) + if (repo->name && strcasestr(repo->name, ctx.qry.search)) return 1; - if (repo->desc && strstr(repo->desc, ctx.qry.search)) + if (repo->desc && strcasestr(repo->desc, ctx.qry.search)) return 1; - if (repo->owner && strstr(repo->owner, ctx.qry.search)) + if (repo->owner && strcasestr(repo->owner, ctx.qry.search)) return 1; return 0; } void print_header(int columns) { if (ctx.cfg.index_header) { htmlf("<tr class='nohover'><td colspan='%d' class='include-block'>", columns); html_include(ctx.cfg.index_header); html("</td></tr>"); } html("<tr class='nohover'>" "<th class='left'>Name</th>" "<th class='left'>Description</th>" "<th class='left'>Owner</th>" "<th class='left'>Idle</th>"); if (ctx.cfg.enable_index_links) html("<th class='left'>Links</th>"); html("</tr>\n"); } void cgit_print_repolist() { int i, columns = 4, hits = 0, header = 0; char *last_group = NULL; if (ctx.cfg.enable_index_links) columns++; ctx.page.title = ctx.cfg.root_title; cgit_print_http_headers(&ctx); |