about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2008-04-13 12:42:27 +0200
committerLars Hjemli <hjemli@gmail.com>2008-04-13 12:46:54 +0200
commit28d781f34b2c2d4c2b994ef3953d1cf37d8f28f0 (patch)
tree22445a77f5b87280ec980f9b4da5a511f1f27faf
parentRemove 'patch' link from tab, add to commit view (diff)
downloadcgit-magenta-28d781f34b2c2d4c2b994ef3953d1cf37d8f28f0.tar.xz
Make repository search case insensitive
This reuses the strcasestr() compiled or linked by libgit.a to implement a
case insensitive variation of the repository search.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.h7
-rw-r--r--ui-repolist.c8
2 files changed, 11 insertions, 4 deletions
diff --git a/cgit.h b/cgit.h

index ee8c716..a3b6535 100644 --- a/cgit.h +++ b/cgit.h
@@ -221,4 +221,11 @@ 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
@@ -48,13 +48,13 @@ 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; }