X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/ce1c7336e5b3e3ebe8f8c9029c405aedec98c208..66cacd053ba900c8eb3b7962027370c84a97f990:/shared.c diff --git a/shared.c b/shared.c index 6fd70a8..531d8c0 100644 --- a/shared.c +++ b/shared.c @@ -20,6 +20,7 @@ char *cgit_virtual_root = NULL; char *cgit_cache_root = "/var/cache/cgit"; int cgit_nocache = 0; +int cgit_snapshots = 0; int cgit_max_lock_attempts = 5; int cgit_cache_root_ttl = 5; int cgit_cache_repo_ttl = 5; @@ -44,10 +45,25 @@ char *cgit_query_search = NULL; char *cgit_query_sha1 = NULL; char *cgit_query_sha2 = NULL; char *cgit_query_path = NULL; +char *cgit_query_name = NULL; int cgit_query_ofs = 0; int htmlfd = 0; +int chk_zero(int result, char *msg) +{ + if (result != 0) + die("%s: %s", msg, strerror(errno)); + return result; +} + +int chk_positive(int result, char *msg) +{ + if (result <= 0) + die("%s: %s", msg, strerror(errno)); + return result; +} + struct repoinfo *add_repo(const char *url) { struct repoinfo *ret; @@ -68,6 +84,7 @@ struct repoinfo *add_repo(const char *url) ret->path = NULL; ret->desc = NULL; ret->owner = NULL; + ret->snapshots = cgit_snapshots; return ret; } @@ -85,6 +102,8 @@ 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, "snapshots")) + cgit_snapshots = atoi(value); else if (!strcmp(name, "cache-root")) cgit_cache_root = xstrdup(value); else if (!strcmp(name, "cache-root-ttl")) @@ -107,6 +126,8 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_repo->desc = xstrdup(value); else if (cgit_repo && !strcmp(name, "repo.owner")) cgit_repo->owner = xstrdup(value); + else if (cgit_repo && !strcmp(name, "repo.snapshots")) + cgit_repo->snapshots = atoi(value); } void cgit_repo_config_cb(const char *name, const char *value) @@ -140,6 +161,8 @@ void cgit_querystring_cb(const char *name, const char *value) cgit_query_ofs = atoi(value); } else if (!strcmp(name, "path")) { cgit_query_path = xstrdup(value); + } else if (!strcmp(name, "name")) { + cgit_query_name = xstrdup(value); } }