author | Lars Hjemli <hjemli@gmail.com> | 2008-04-13 10:42:27 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-13 10:46:54 (UTC) |
commit | 28d781f34b2c2d4c2b994ef3953d1cf37d8f28f0 (patch) (unidiff) | |
tree | 22445a77f5b87280ec980f9b4da5a511f1f27faf /cgit.h | |
parent | 39912a24edf45497e668ebda25636aa6f6db0c9b (diff) | |
download | cgit-28d781f34b2c2d4c2b994ef3953d1cf37d8f28f0.zip cgit-28d781f34b2c2d4c2b994ef3953d1cf37d8f28f0.tar.gz cgit-28d781f34b2c2d4c2b994ef3953d1cf37d8f28f0.tar.bz2 |
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.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -128,97 +128,104 @@ struct cgit_config { | |||
128 | char *index_info; | 128 | char *index_info; |
129 | char *logo; | 129 | char *logo; |
130 | char *logo_link; | 130 | char *logo_link; |
131 | char *module_link; | 131 | char *module_link; |
132 | char *repo_group; | 132 | char *repo_group; |
133 | char *robots; | 133 | char *robots; |
134 | char *root_title; | 134 | char *root_title; |
135 | char *script_name; | 135 | char *script_name; |
136 | char *virtual_root; | 136 | char *virtual_root; |
137 | int cache_dynamic_ttl; | 137 | int cache_dynamic_ttl; |
138 | int cache_max_create_time; | 138 | int cache_max_create_time; |
139 | int cache_repo_ttl; | 139 | int cache_repo_ttl; |
140 | int cache_root_ttl; | 140 | int cache_root_ttl; |
141 | int cache_static_ttl; | 141 | int cache_static_ttl; |
142 | int enable_index_links; | 142 | int enable_index_links; |
143 | int enable_log_filecount; | 143 | int enable_log_filecount; |
144 | int enable_log_linecount; | 144 | int enable_log_linecount; |
145 | int max_commit_count; | 145 | int max_commit_count; |
146 | int max_lock_attempts; | 146 | int max_lock_attempts; |
147 | int max_msg_len; | 147 | int max_msg_len; |
148 | int max_repodesc_len; | 148 | int max_repodesc_len; |
149 | int nocache; | 149 | int nocache; |
150 | int renamelimit; | 150 | int renamelimit; |
151 | int snapshots; | 151 | int snapshots; |
152 | int summary_branches; | 152 | int summary_branches; |
153 | int summary_log; | 153 | int summary_log; |
154 | int summary_tags; | 154 | int summary_tags; |
155 | }; | 155 | }; |
156 | 156 | ||
157 | struct cgit_page { | 157 | struct cgit_page { |
158 | time_t modified; | 158 | time_t modified; |
159 | time_t expires; | 159 | time_t expires; |
160 | char *mimetype; | 160 | char *mimetype; |
161 | char *charset; | 161 | char *charset; |
162 | char *filename; | 162 | char *filename; |
163 | char *title; | 163 | char *title; |
164 | }; | 164 | }; |
165 | 165 | ||
166 | struct cgit_context { | 166 | struct cgit_context { |
167 | struct cgit_query qry; | 167 | struct cgit_query qry; |
168 | struct cgit_config cfg; | 168 | struct cgit_config cfg; |
169 | struct cgit_repo *repo; | 169 | struct cgit_repo *repo; |
170 | struct cgit_page page; | 170 | struct cgit_page page; |
171 | }; | 171 | }; |
172 | 172 | ||
173 | struct cgit_snapshot_format { | 173 | struct cgit_snapshot_format { |
174 | const char *suffix; | 174 | const char *suffix; |
175 | const char *mimetype; | 175 | const char *mimetype; |
176 | write_archive_fn_t write_func; | 176 | write_archive_fn_t write_func; |
177 | int bit; | 177 | int bit; |
178 | }; | 178 | }; |
179 | 179 | ||
180 | extern const char *cgit_version; | 180 | extern const char *cgit_version; |
181 | 181 | ||
182 | extern struct cgit_repolist cgit_repolist; | 182 | extern struct cgit_repolist cgit_repolist; |
183 | extern struct cgit_context ctx; | 183 | extern struct cgit_context ctx; |
184 | extern const struct cgit_snapshot_format cgit_snapshot_formats[]; | 184 | extern const struct cgit_snapshot_format cgit_snapshot_formats[]; |
185 | 185 | ||
186 | extern struct cgit_repo *cgit_add_repo(const char *url); | 186 | extern struct cgit_repo *cgit_add_repo(const char *url); |
187 | extern struct cgit_repo *cgit_get_repoinfo(const char *url); | 187 | extern struct cgit_repo *cgit_get_repoinfo(const char *url); |
188 | extern void cgit_repo_config_cb(const char *name, const char *value); | 188 | extern void cgit_repo_config_cb(const char *name, const char *value); |
189 | 189 | ||
190 | extern int chk_zero(int result, char *msg); | 190 | extern int chk_zero(int result, char *msg); |
191 | extern int chk_positive(int result, char *msg); | 191 | extern int chk_positive(int result, char *msg); |
192 | extern int chk_non_negative(int result, char *msg); | 192 | extern int chk_non_negative(int result, char *msg); |
193 | 193 | ||
194 | extern char *trim_end(const char *str, char c); | 194 | extern char *trim_end(const char *str, char c); |
195 | extern char *strlpart(char *txt, int maxlen); | 195 | extern char *strlpart(char *txt, int maxlen); |
196 | extern char *strrpart(char *txt, int maxlen); | 196 | extern char *strrpart(char *txt, int maxlen); |
197 | 197 | ||
198 | extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); | 198 | extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); |
199 | extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, | 199 | extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, |
200 | int flags, void *cb_data); | 200 | int flags, void *cb_data); |
201 | 201 | ||
202 | extern void *cgit_free_commitinfo(struct commitinfo *info); | 202 | extern void *cgit_free_commitinfo(struct commitinfo *info); |
203 | 203 | ||
204 | extern int cgit_diff_files(const unsigned char *old_sha1, | 204 | extern int cgit_diff_files(const unsigned char *old_sha1, |
205 | const unsigned char *new_sha1, | 205 | const unsigned char *new_sha1, |
206 | linediff_fn fn); | 206 | linediff_fn fn); |
207 | 207 | ||
208 | extern void cgit_diff_tree(const unsigned char *old_sha1, | 208 | extern void cgit_diff_tree(const unsigned char *old_sha1, |
209 | const unsigned char *new_sha1, | 209 | const unsigned char *new_sha1, |
210 | filepair_fn fn, const char *prefix); | 210 | filepair_fn fn, const char *prefix); |
211 | 211 | ||
212 | extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); | 212 | extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); |
213 | 213 | ||
214 | extern char *fmt(const char *format,...); | 214 | extern char *fmt(const char *format,...); |
215 | 215 | ||
216 | extern struct commitinfo *cgit_parse_commit(struct commit *commit); | 216 | extern struct commitinfo *cgit_parse_commit(struct commit *commit); |
217 | extern struct taginfo *cgit_parse_tag(struct tag *tag); | 217 | extern struct taginfo *cgit_parse_tag(struct tag *tag); |
218 | extern void cgit_parse_url(const char *url); | 218 | extern void cgit_parse_url(const char *url); |
219 | 219 | ||
220 | extern const char *cgit_repobasename(const char *reponame); | 220 | extern const char *cgit_repobasename(const char *reponame); |
221 | 221 | ||
222 | extern int cgit_parse_snapshots_mask(const char *str); | 222 | extern int cgit_parse_snapshots_mask(const char *str); |
223 | 223 | ||
224 | /* libgit.a either links against or compiles its own implementation of | ||
225 | * strcasestr(), and we'd like to reuse it. Simply re-declaring it | ||
226 | * seems to do the trick. | ||
227 | */ | ||
228 | extern char *strcasestr(const char *haystack, const char *needle); | ||
229 | |||
230 | |||
224 | #endif /* CGIT_H */ | 231 | #endif /* CGIT_H */ |