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>
This commit is contained in:
		
							
								
								
									
										7
									
								
								cgit.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								cgit.h
									
									
									
									
									
								
							| @@ -221,4 +221,11 @@ extern const char *cgit_repobasename(const char *reponame); | |||||||
|  |  | ||||||
| extern int cgit_parse_snapshots_mask(const char *str); | 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 */ | #endif /* CGIT_H */ | ||||||
|   | |||||||
| @@ -48,13 +48,13 @@ int is_match(struct cgit_repo *repo) | |||||||
| { | { | ||||||
| 	if (!ctx.qry.search) | 	if (!ctx.qry.search) | ||||||
| 		return 1; | 		return 1; | ||||||
| 	if (repo->url && strstr(repo->url, ctx.qry.search)) | 	if (repo->url && strcasestr(repo->url, ctx.qry.search)) | ||||||
| 		return 1; | 		return 1; | ||||||
| 	if (repo->name && strstr(repo->name, ctx.qry.search)) | 	if (repo->name && strcasestr(repo->name, ctx.qry.search)) | ||||||
| 		return 1; | 		return 1; | ||||||
| 	if (repo->desc && strstr(repo->desc, ctx.qry.search)) | 	if (repo->desc && strcasestr(repo->desc, ctx.qry.search)) | ||||||
| 		return 1; | 		return 1; | ||||||
| 	if (repo->owner && strstr(repo->owner, ctx.qry.search)) | 	if (repo->owner && strcasestr(repo->owner, ctx.qry.search)) | ||||||
| 		return 1; | 		return 1; | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Lars Hjemli
					Lars Hjemli