|
diff --git a/shared.c b/shared.c index 6117f5c..8cb4808 100644 --- a/ shared.c+++ b/ shared.c |
|
@@ -246,48 +246,50 @@ void cgit_querystring_cb(const char *name, const char *value) |
246 | cgit_query_head = xstrdup(value); |
246 | cgit_query_head = xstrdup(value); |
247 | cgit_query_has_symref = 1; |
247 | cgit_query_has_symref = 1; |
248 | } else if (!strcmp(name, "id")) { |
248 | } else if (!strcmp(name, "id")) { |
249 | cgit_query_sha1 = xstrdup(value); |
249 | cgit_query_sha1 = xstrdup(value); |
250 | cgit_query_has_sha1 = 1; |
250 | cgit_query_has_sha1 = 1; |
251 | } else if (!strcmp(name, "id2")) { |
251 | } else if (!strcmp(name, "id2")) { |
252 | cgit_query_sha2 = xstrdup(value); |
252 | cgit_query_sha2 = xstrdup(value); |
253 | cgit_query_has_sha1 = 1; |
253 | cgit_query_has_sha1 = 1; |
254 | } else if (!strcmp(name, "ofs")) { |
254 | } else if (!strcmp(name, "ofs")) { |
255 | cgit_query_ofs = atoi(value); |
255 | cgit_query_ofs = atoi(value); |
256 | } else if (!strcmp(name, "path")) { |
256 | } else if (!strcmp(name, "path")) { |
257 | cgit_query_path = trim_end(value, '/'); |
257 | cgit_query_path = trim_end(value, '/'); |
258 | } else if (!strcmp(name, "name")) { |
258 | } else if (!strcmp(name, "name")) { |
259 | cgit_query_name = xstrdup(value); |
259 | cgit_query_name = xstrdup(value); |
260 | } |
260 | } |
261 | } |
261 | } |
262 | |
262 | |
263 | void *cgit_free_commitinfo(struct commitinfo *info) |
263 | void *cgit_free_commitinfo(struct commitinfo *info) |
264 | { |
264 | { |
265 | free(info->author); |
265 | free(info->author); |
266 | free(info->author_email); |
266 | free(info->author_email); |
267 | free(info->committer); |
267 | free(info->committer); |
268 | free(info->committer_email); |
268 | free(info->committer_email); |
269 | free(info->subject); |
269 | free(info->subject); |
| |
270 | free(info->msg); |
| |
271 | free(info->msg_encoding); |
270 | free(info); |
272 | free(info); |
271 | return NULL; |
273 | return NULL; |
272 | } |
274 | } |
273 | |
275 | |
274 | int hextoint(char c) |
276 | int hextoint(char c) |
275 | { |
277 | { |
276 | if (c >= 'a' && c <= 'f') |
278 | if (c >= 'a' && c <= 'f') |
277 | return 10 + c - 'a'; |
279 | return 10 + c - 'a'; |
278 | else if (c >= 'A' && c <= 'F') |
280 | else if (c >= 'A' && c <= 'F') |
279 | return 10 + c - 'A'; |
281 | return 10 + c - 'A'; |
280 | else if (c >= '0' && c <= '9') |
282 | else if (c >= '0' && c <= '9') |
281 | return c - '0'; |
283 | return c - '0'; |
282 | else |
284 | else |
283 | return -1; |
285 | return -1; |
284 | } |
286 | } |
285 | |
287 | |
286 | char *trim_end(const char *str, char c) |
288 | char *trim_end(const char *str, char c) |
287 | { |
289 | { |
288 | int len; |
290 | int len; |
289 | char *s, *t; |
291 | char *s, *t; |
290 | |
292 | |
291 | if (str == NULL) |
293 | if (str == NULL) |
292 | return NULL; |
294 | return NULL; |
293 | t = (char *)str; |
295 | t = (char *)str; |
|