#include "cgit.h"
#include <stdio.h>
-#include <linux/limits.h>
struct cgit_repolist cgit_repolist;
struct cgit_context ctx;
int chk_non_negative(int result, char *msg)
{
- if (result < 0)
- die("%s: %s",msg, strerror(errno));
+ if (result < 0)
+ die("%s: %s", msg, strerror(errno));
return result;
}
+char *cgit_default_repo_desc = "[no description]";
struct cgit_repo *cgit_add_repo(const char *url)
{
struct cgit_repo *ret;
ret->url = trim_end(url, '/');
ret->name = ret->url;
ret->path = NULL;
- ret->desc = "[no description]";
+ ret->desc = cgit_default_repo_desc;
ret->owner = NULL;
ret->section = ctx.cfg.section;
- ret->defbranch = "master";
ret->snapshots = ctx.cfg.snapshots;
ret->enable_commit_graph = ctx.cfg.enable_commit_graph;
ret->enable_log_filecount = ctx.cfg.enable_log_filecount;
ret->enable_remote_branches = ctx.cfg.enable_remote_branches;
ret->enable_subject_links = ctx.cfg.enable_subject_links;
ret->max_stats = ctx.cfg.max_stats;
+ ret->commit_sort = ctx.cfg.commit_sort;
ret->module_link = ctx.cfg.module_link;
ret->readme = ctx.cfg.readme;
ret->mtime = -1;
ret->commit_filter = ctx.cfg.commit_filter;
ret->source_filter = ctx.cfg.source_filter;
ret->clone_url = ctx.cfg.clone_url;
+ ret->submodules.strdup_strings = 1;
return ret;
}
int i;
struct cgit_repo *repo;
- for (i=0; i<cgit_repolist.count; i++) {
+ for (i = 0; i < cgit_repolist.count; i++) {
repo = &cgit_repolist.repos[i];
if (!strcmp(repo->url, url))
return repo;
if (str == NULL)
return NULL;
len = strlen(str);
- while(len > 0 && str[len - 1] == c)
+ while (len > 0 && str[len - 1] == c)
len--;
if (len == 0)
return NULL;
file->ptr = (char *)"";
file->size = 0;
} else {
- file->ptr = read_sha1_file(sha1, &type,
+ file->ptr = read_sha1_file(sha1, &type,
(unsigned long *)&file->size);
}
return 1;
filepair_fn fn, const char *prefix, int ignorews)
{
struct diff_options opt;
- int prefixlen;
+ struct pathspec_item item;
diff_setup(&opt);
opt.output_format = DIFF_FORMAT_CALLBACK;
opt.format_callback = cgit_diff_tree_cb;
opt.format_callback_data = fn;
if (prefix) {
- opt.nr_paths = 1;
- opt.paths = &prefix;
- prefixlen = strlen(prefix);
- opt.pathlens = &prefixlen;
+ item.match = prefix;
+ item.len = strlen(prefix);
+ opt.pathspec.nr = 1;
+ opt.pathspec.items = &item;
}
diff_setup_done(&opt);
int tl, sl, rv = 0;
/* favor legacy setting */
- if(atoi(str))
+ if (atoi(str))
return 1;
- for(;;) {
- str += strspn(str,delim);
- tl = strcspn(str,delim);
+ for (;;) {
+ str += strspn(str, delim);
+ tl = strcspn(str, delim);
if (!tl)
break;
for (f = cgit_snapshot_formats; f->suffix; f++) {
sl = strlen(f->suffix);
- if((tl == sl && !strncmp(f->suffix, str, tl)) ||
- (tl == sl-1 && !strncmp(f->suffix+1, str, tl-1))) {
+ if ((tl == sl && !strncmp(f->suffix, str, tl)) ||
+ (tl == sl - 1 && !strncmp(f->suffix + 1, str, tl - 1))) {
rv |= f->bit;
break;
}
p = env_vars;
q = p + env_var_count;
for (; p < q; p++)
- if (setenv(p->name, p->value, 1))
+ if (p->value && setenv(p->name, p->value, 1))
fprintf(stderr, warn, p->name, p->value);
}