X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/521dc7a4bf4af6115ffc3a94d447689bbaa22272..7dd50c98d73bf6c579b8ce5893739a2d0ffc00d5:/shared.c diff --git a/shared.c b/shared.c index 7149597..8e6df31 100644 --- a/shared.c +++ b/shared.c @@ -25,6 +25,8 @@ int cgit_cache_dynamic_ttl = 5; int cgit_cache_static_ttl = -1; int cgit_cache_max_create_time = 5; +int cgit_max_msg_len = 60; + char *cgit_repo_name = NULL; char *cgit_repo_desc = NULL; char *cgit_repo_owner = NULL; @@ -36,7 +38,10 @@ char *cgit_querystring = NULL; char *cgit_query_repo = NULL; char *cgit_query_page = NULL; char *cgit_query_head = NULL; +char *cgit_query_search = NULL; char *cgit_query_sha1 = NULL; +char *cgit_query_sha2 = NULL; +char *cgit_query_path = NULL; int cgit_query_ofs = 0; int htmlfd = 0; @@ -57,6 +62,18 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_virtual_root = xstrdup(value); else if (!strcmp(name, "nocache")) cgit_nocache = atoi(value); + else if (!strcmp(name, "cache-root")) + cgit_cache_root = xstrdup(value); + else if (!strcmp(name, "cache-root-ttl")) + cgit_cache_root_ttl = atoi(value); + else if (!strcmp(name, "cache-repo-ttl")) + cgit_cache_repo_ttl = atoi(value); + else if (!strcmp(name, "cache-static-ttl")) + cgit_cache_static_ttl = atoi(value); + else if (!strcmp(name, "cache-dynamic-ttl")) + cgit_cache_dynamic_ttl = atoi(value); + else if (!strcmp(name, "max-message-length")) + cgit_max_msg_len = atoi(value); } void cgit_repo_config_cb(const char *name, const char *value) @@ -75,14 +92,44 @@ void cgit_querystring_cb(const char *name, const char *value) cgit_query_repo = xstrdup(value); } else if (!strcmp(name, "p")) { cgit_query_page = xstrdup(value); + } else if (!strcmp(name, "q")) { + cgit_query_search = xstrdup(value); } else if (!strcmp(name, "h")) { cgit_query_head = xstrdup(value); cgit_query_has_symref = 1; } else if (!strcmp(name, "id")) { cgit_query_sha1 = xstrdup(value); cgit_query_has_sha1 = 1; + } else if (!strcmp(name, "id2")) { + cgit_query_sha2 = xstrdup(value); + cgit_query_has_sha1 = 1; } else if (!strcmp(name, "ofs")) { cgit_query_ofs = atoi(value); + } else if (!strcmp(name, "path")) { + cgit_query_path = xstrdup(value); } } +void *cgit_free_commitinfo(struct commitinfo *info) +{ + free(info->author); + free(info->author_email); + free(info->committer); + free(info->committer_email); + free(info->subject); + free(info); + return NULL; +} + +int hextoint(char c) +{ + if (c >= 'a' && c <= 'f') + return 10 + c - 'a'; + else if (c >= 'A' && c <= 'F') + return 10 + c - 'A'; + else if (c >= '0' && c <= '9') + return c - '0'; + else + return -1; +} +