Merge branch 'wip'
This commit is contained in:
commit
0255821e22
2
cache.c
2
cache.c
@ -363,7 +363,7 @@ int cache_process(int size, const char *path, const char *key, int ttl,
|
||||
/* Return a strftime formatted date/time
|
||||
* NB: the result from this function is to shared memory
|
||||
*/
|
||||
char *sprintftime(const char *format, time_t time)
|
||||
static char *sprintftime(const char *format, time_t time)
|
||||
{
|
||||
static char buf[64];
|
||||
struct tm *tm;
|
||||
|
34
cgit.c
34
cgit.c
@ -18,7 +18,7 @@
|
||||
|
||||
const char *cgit_version = CGIT_VERSION;
|
||||
|
||||
void add_mimetype(const char *name, const char *value)
|
||||
static void add_mimetype(const char *name, const char *value)
|
||||
{
|
||||
struct string_list_item *item;
|
||||
|
||||
@ -26,7 +26,7 @@ void add_mimetype(const char *name, const char *value)
|
||||
item->util = xstrdup(value);
|
||||
}
|
||||
|
||||
struct cgit_filter *new_filter(const char *cmd, filter_type filtertype)
|
||||
static struct cgit_filter *new_filter(const char *cmd, filter_type filtertype)
|
||||
{
|
||||
struct cgit_filter *f;
|
||||
int args_size = 0;
|
||||
@ -58,7 +58,7 @@ struct cgit_filter *new_filter(const char *cmd, filter_type filtertype)
|
||||
|
||||
static void process_cached_repolist(const char *path);
|
||||
|
||||
void repo_config(struct cgit_repo *repo, const char *name, const char *value)
|
||||
static void repo_config(struct cgit_repo *repo, const char *name, const char *value)
|
||||
{
|
||||
struct string_list_item *item;
|
||||
|
||||
@ -114,7 +114,7 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value)
|
||||
}
|
||||
}
|
||||
|
||||
void config_cb(const char *name, const char *value)
|
||||
static void config_cb(const char *name, const char *value)
|
||||
{
|
||||
if (!strcmp(name, "section") || !strcmp(name, "repo.group"))
|
||||
ctx.cfg.section = xstrdup(value);
|
||||
@ -333,7 +333,7 @@ static void querystring_cb(const char *name, const char *value)
|
||||
}
|
||||
}
|
||||
|
||||
char *xstrdupn(const char *str)
|
||||
static char *xstrdupn(const char *str)
|
||||
{
|
||||
return (str ? xstrdup(str) : NULL);
|
||||
}
|
||||
@ -414,8 +414,8 @@ struct refmatch {
|
||||
int match;
|
||||
};
|
||||
|
||||
int find_current_ref(const char *refname, const unsigned char *sha1,
|
||||
int flags, void *cb_data)
|
||||
static int find_current_ref(const char *refname, const unsigned char *sha1,
|
||||
int flags, void *cb_data)
|
||||
{
|
||||
struct refmatch *info;
|
||||
|
||||
@ -427,7 +427,13 @@ int find_current_ref(const char *refname, const unsigned char *sha1,
|
||||
return info->match;
|
||||
}
|
||||
|
||||
char *find_default_branch(struct cgit_repo *repo)
|
||||
static void free_refmatch_inner(struct refmatch *info)
|
||||
{
|
||||
if (info->first_ref)
|
||||
free(info->first_ref);
|
||||
}
|
||||
|
||||
static char *find_default_branch(struct cgit_repo *repo)
|
||||
{
|
||||
struct refmatch info;
|
||||
char *ref;
|
||||
@ -442,6 +448,8 @@ char *find_default_branch(struct cgit_repo *repo)
|
||||
ref = info.first_ref;
|
||||
if (ref)
|
||||
ref = xstrdup(ref);
|
||||
free_refmatch_inner(&info);
|
||||
|
||||
return ref;
|
||||
}
|
||||
|
||||
@ -569,13 +577,13 @@ static void process_request(void *cbdata)
|
||||
cgit_print_docend();
|
||||
}
|
||||
|
||||
int cmp_repos(const void *a, const void *b)
|
||||
static int cmp_repos(const void *a, const void *b)
|
||||
{
|
||||
const struct cgit_repo *ra = a, *rb = b;
|
||||
return strcmp(ra->url, rb->url);
|
||||
}
|
||||
|
||||
char *build_snapshot_setting(int bitmap)
|
||||
static char *build_snapshot_setting(int bitmap)
|
||||
{
|
||||
const struct cgit_snapshot_format *f;
|
||||
char *result = xstrdup("");
|
||||
@ -595,7 +603,7 @@ char *build_snapshot_setting(int bitmap)
|
||||
return result;
|
||||
}
|
||||
|
||||
char *get_first_line(char *txt)
|
||||
static char *get_first_line(char *txt)
|
||||
{
|
||||
char *t = xstrdup(txt);
|
||||
char *p = strchr(t, '\n');
|
||||
@ -604,7 +612,7 @@ char *get_first_line(char *txt)
|
||||
return t;
|
||||
}
|
||||
|
||||
void print_repo(FILE *f, struct cgit_repo *repo)
|
||||
static void print_repo(FILE *f, struct cgit_repo *repo)
|
||||
{
|
||||
fprintf(f, "repo.url=%s\n", repo->url);
|
||||
fprintf(f, "repo.name=%s\n", repo->name);
|
||||
@ -649,7 +657,7 @@ void print_repo(FILE *f, struct cgit_repo *repo)
|
||||
fprintf(f, "\n");
|
||||
}
|
||||
|
||||
void print_repolist(FILE *f, struct cgit_repolist *list, int start)
|
||||
static void print_repolist(FILE *f, struct cgit_repolist *list, int start)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
1
cgit.h
1
cgit.h
@ -304,6 +304,7 @@ extern char *strlpart(char *txt, int maxlen);
|
||||
extern char *strrpart(char *txt, int maxlen);
|
||||
|
||||
extern void cgit_add_ref(struct reflist *list, struct refinfo *ref);
|
||||
extern void cgit_free_reflist_inner(struct reflist *list);
|
||||
extern int cgit_refs_cb(const char *refname, const unsigned char *sha1,
|
||||
int flags, void *cb_data);
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include <stdio.h>
|
||||
#include "configfile.h"
|
||||
|
||||
int next_char(FILE *f)
|
||||
static int next_char(FILE *f)
|
||||
{
|
||||
int c = fgetc(f);
|
||||
if (c == '\r') {
|
||||
@ -23,7 +23,7 @@ int next_char(FILE *f)
|
||||
return c;
|
||||
}
|
||||
|
||||
void skip_line(FILE *f)
|
||||
static void skip_line(FILE *f)
|
||||
{
|
||||
int c;
|
||||
|
||||
@ -31,7 +31,7 @@ void skip_line(FILE *f)
|
||||
;
|
||||
}
|
||||
|
||||
int read_config_line(FILE *f, char *line, const char **value, int bufsize)
|
||||
static int read_config_line(FILE *f, char *line, const char **value, int bufsize)
|
||||
{
|
||||
int i = 0, isname = 0;
|
||||
|
||||
|
6
html.c
6
html.c
@ -39,7 +39,7 @@ static const char* url_escape_table[256] = {
|
||||
"%fe", "%ff"
|
||||
};
|
||||
|
||||
int htmlfd = STDOUT_FILENO;
|
||||
static int htmlfd = STDOUT_FILENO;
|
||||
|
||||
char *fmt(const char *format, ...)
|
||||
{
|
||||
@ -266,7 +266,7 @@ int html_include(const char *filename)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int hextoint(char c)
|
||||
static int hextoint(char c)
|
||||
{
|
||||
if (c >= 'a' && c <= 'f')
|
||||
return 10 + c - 'a';
|
||||
@ -278,7 +278,7 @@ int hextoint(char c)
|
||||
return -1;
|
||||
}
|
||||
|
||||
char *convert_query_hexchar(char *txt)
|
||||
static char *convert_query_hexchar(char *txt)
|
||||
{
|
||||
int d1, d2, n;
|
||||
n = strlen(txt);
|
||||
|
@ -52,7 +52,7 @@ void cgit_parse_url(const char *url)
|
||||
}
|
||||
}
|
||||
|
||||
char *substr(const char *head, const char *tail)
|
||||
static char *substr(const char *head, const char *tail)
|
||||
{
|
||||
char *buf;
|
||||
|
||||
@ -64,7 +64,7 @@ char *substr(const char *head, const char *tail)
|
||||
return buf;
|
||||
}
|
||||
|
||||
char *parse_user(char *t, char **name, char **email, unsigned long *date)
|
||||
static char *parse_user(char *t, char **name, char **email, unsigned long *date)
|
||||
{
|
||||
char *p = t;
|
||||
int mode = 1;
|
||||
@ -101,7 +101,7 @@ char *parse_user(char *t, char **name, char **email, unsigned long *date)
|
||||
#ifdef NO_ICONV
|
||||
#define reencode(a, b, c)
|
||||
#else
|
||||
const char *reencode(char **txt, const char *src_enc, const char *dst_enc)
|
||||
static const char *reencode(char **txt, const char *src_enc, const char *dst_enc)
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
|
48
shared.c
48
shared.c
@ -158,7 +158,7 @@ void cgit_add_ref(struct reflist *list, struct refinfo *ref)
|
||||
list->refs[list->count++] = ref;
|
||||
}
|
||||
|
||||
struct refinfo *cgit_mk_refinfo(const char *refname, const unsigned char *sha1)
|
||||
static struct refinfo *cgit_mk_refinfo(const char *refname, const unsigned char *sha1)
|
||||
{
|
||||
struct refinfo *ref;
|
||||
|
||||
@ -176,6 +176,42 @@ struct refinfo *cgit_mk_refinfo(const char *refname, const unsigned char *sha1)
|
||||
return ref;
|
||||
}
|
||||
|
||||
static void cgit_free_taginfo(struct taginfo *tag)
|
||||
{
|
||||
if (tag->tagger)
|
||||
free(tag->tagger);
|
||||
if (tag->tagger_email)
|
||||
free(tag->tagger_email);
|
||||
if (tag->msg)
|
||||
free(tag->msg);
|
||||
free(tag);
|
||||
}
|
||||
|
||||
static void cgit_free_refinfo(struct refinfo *ref)
|
||||
{
|
||||
if (ref->refname)
|
||||
free((char *)ref->refname);
|
||||
switch (ref->object->type) {
|
||||
case OBJ_TAG:
|
||||
cgit_free_taginfo(ref->tag);
|
||||
break;
|
||||
case OBJ_COMMIT:
|
||||
cgit_free_commitinfo(ref->commit);
|
||||
break;
|
||||
}
|
||||
free(ref);
|
||||
}
|
||||
|
||||
void cgit_free_reflist_inner(struct reflist *list)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < list->count; i++) {
|
||||
cgit_free_refinfo(list->refs[i]);
|
||||
}
|
||||
free(list->refs);
|
||||
}
|
||||
|
||||
int cgit_refs_cb(const char *refname, const unsigned char *sha1, int flags,
|
||||
void *cb_data)
|
||||
{
|
||||
@ -187,8 +223,8 @@ int cgit_refs_cb(const char *refname, const unsigned char *sha1, int flags,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cgit_diff_tree_cb(struct diff_queue_struct *q,
|
||||
struct diff_options *options, void *data)
|
||||
static void cgit_diff_tree_cb(struct diff_queue_struct *q,
|
||||
struct diff_options *options, void *data)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -224,7 +260,7 @@ static int load_mmfile(mmfile_t *file, const unsigned char *sha1)
|
||||
char *diffbuf = NULL;
|
||||
int buflen = 0;
|
||||
|
||||
int filediff_cb(void *priv, mmbuffer_t *mb, int nbuf)
|
||||
static int filediff_cb(void *priv, mmbuffer_t *mb, int nbuf)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -461,14 +497,14 @@ int readfile(const char *path, char **buf, size_t *size)
|
||||
return (*size == st.st_size ? 0 : e);
|
||||
}
|
||||
|
||||
int is_token_char(char c)
|
||||
static int is_token_char(char c)
|
||||
{
|
||||
return isalnum(c) || c == '_';
|
||||
}
|
||||
|
||||
/* Replace name with getenv(name), return pointer to zero-terminating char
|
||||
*/
|
||||
char *expand_macro(char *name, int maxlength)
|
||||
static char *expand_macro(char *name, int maxlength)
|
||||
{
|
||||
char *value;
|
||||
int len;
|
||||
|
@ -10,7 +10,7 @@
|
||||
#include "html.h"
|
||||
#include "ui-shared.h"
|
||||
|
||||
void add_entry(struct commit *commit, char *host)
|
||||
static void add_entry(struct commit *commit, char *host)
|
||||
{
|
||||
char delim = '&';
|
||||
char *hex;
|
||||
|
@ -74,6 +74,7 @@ void cgit_print_commit(char *hex, const char *prefix)
|
||||
html(" /");
|
||||
cgit_tree_link(prefix, NULL, NULL, ctx.qry.head, tmp, prefix);
|
||||
}
|
||||
free(tmp);
|
||||
html("</td></tr>\n");
|
||||
for (p = commit->parents; p; p = p->next) {
|
||||
parent = lookup_commit_reference(p->item->object.sha1);
|
||||
|
@ -166,8 +166,9 @@ static void inspect_filepair(struct diff_filepair *pair)
|
||||
total_rems += lines_removed;
|
||||
}
|
||||
|
||||
void cgit_print_diffstat(const unsigned char *old_sha1,
|
||||
const unsigned char *new_sha1, const char *prefix)
|
||||
static void cgit_print_diffstat(const unsigned char *old_sha1,
|
||||
const unsigned char *new_sha1,
|
||||
const char *prefix)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
6
ui-log.c
6
ui-log.c
@ -28,7 +28,7 @@ static const char *column_colors_html[] = {
|
||||
|
||||
#define COLUMN_COLORS_HTML_MAX (ARRAY_SIZE(column_colors_html) - 1)
|
||||
|
||||
void count_lines(char *line, int size)
|
||||
static void count_lines(char *line, int size)
|
||||
{
|
||||
if (size <= 0)
|
||||
return;
|
||||
@ -40,7 +40,7 @@ void count_lines(char *line, int size)
|
||||
rem_lines++;
|
||||
}
|
||||
|
||||
void inspect_files(struct diff_filepair *pair)
|
||||
static void inspect_files(struct diff_filepair *pair)
|
||||
{
|
||||
unsigned long old_size = 0;
|
||||
unsigned long new_size = 0;
|
||||
@ -95,7 +95,7 @@ next:
|
||||
}
|
||||
}
|
||||
|
||||
void print_commit(struct commit *commit, struct rev_info *revs)
|
||||
static void print_commit(struct commit *commit, struct rev_info *revs)
|
||||
{
|
||||
struct commitinfo *info;
|
||||
int cols = revs->graph ? 3 : 2;
|
||||
|
12
ui-refs.c
12
ui-refs.c
@ -103,6 +103,7 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
|
||||
const struct cgit_snapshot_format* f;
|
||||
char *filename;
|
||||
const char *basename;
|
||||
int free_ref = 0;
|
||||
|
||||
if (!ref || strlen(ref) < 2)
|
||||
return;
|
||||
@ -111,8 +112,10 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
|
||||
if (prefixcmp(ref, basename) != 0) {
|
||||
if ((ref[0] == 'v' || ref[0] == 'V') && isdigit(ref[1]))
|
||||
ref++;
|
||||
if (isdigit(ref[0]))
|
||||
if (isdigit(ref[0])) {
|
||||
ref = xstrdup(fmt("%s-%s", basename, ref));
|
||||
free_ref = 1;
|
||||
}
|
||||
}
|
||||
|
||||
for (f = cgit_snapshot_formats; f->suffix; f++) {
|
||||
@ -122,6 +125,9 @@ static void print_tag_downloads(const struct cgit_repo *repo, const char *ref)
|
||||
cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename);
|
||||
html(" ");
|
||||
}
|
||||
|
||||
if (free_ref)
|
||||
free((char *)ref);
|
||||
}
|
||||
static int print_tag(struct refinfo *ref)
|
||||
{
|
||||
@ -205,6 +211,8 @@ void cgit_print_branches(int maxcount)
|
||||
|
||||
if (maxcount < list.count)
|
||||
print_refs_link("heads");
|
||||
|
||||
cgit_free_reflist_inner(&list);
|
||||
}
|
||||
|
||||
void cgit_print_tags(int maxcount)
|
||||
@ -229,6 +237,8 @@ void cgit_print_tags(int maxcount)
|
||||
|
||||
if (maxcount < list.count)
|
||||
print_refs_link("tags");
|
||||
|
||||
cgit_free_reflist_inner(&list);
|
||||
}
|
||||
|
||||
void cgit_print_refs()
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "ui-shared.h"
|
||||
#include <strings.h>
|
||||
|
||||
time_t read_agefile(char *path)
|
||||
static time_t read_agefile(char *path)
|
||||
{
|
||||
time_t result;
|
||||
size_t size;
|
||||
@ -76,7 +76,7 @@ static void print_modtime(struct cgit_repo *repo)
|
||||
cgit_print_age(t, -1, NULL);
|
||||
}
|
||||
|
||||
int is_match(struct cgit_repo *repo)
|
||||
static int is_match(struct cgit_repo *repo)
|
||||
{
|
||||
if (!ctx.qry.search)
|
||||
return 1;
|
||||
@ -91,7 +91,7 @@ int is_match(struct cgit_repo *repo)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_in_url(struct cgit_repo *repo)
|
||||
static int is_in_url(struct cgit_repo *repo)
|
||||
{
|
||||
if (!ctx.qry.url)
|
||||
return 1;
|
||||
@ -100,7 +100,7 @@ int is_in_url(struct cgit_repo *repo)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void print_sort_header(const char *title, const char *sort)
|
||||
static void print_sort_header(const char *title, const char *sort)
|
||||
{
|
||||
htmlf("<th class='left'><a href='%s?s=%s", cgit_rooturl(), sort);
|
||||
if (ctx.qry.search) {
|
||||
@ -110,7 +110,7 @@ void print_sort_header(const char *title, const char *sort)
|
||||
htmlf("'>%s</a></th>", title);
|
||||
}
|
||||
|
||||
void print_header()
|
||||
static void print_header()
|
||||
{
|
||||
html("<tr class='nohover'>");
|
||||
print_sort_header("Name", "name");
|
||||
@ -124,7 +124,7 @@ void print_header()
|
||||
}
|
||||
|
||||
|
||||
void print_pager(int items, int pagelen, char *search, char *sort)
|
||||
static void print_pager(int items, int pagelen, char *search, char *sort)
|
||||
{
|
||||
int i, ofs;
|
||||
char *class = NULL;
|
||||
@ -223,7 +223,7 @@ struct sortcolumn sortcolumn[] = {
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
int sort_repolist(char *field)
|
||||
static int sort_repolist(char *field)
|
||||
{
|
||||
struct sortcolumn *column;
|
||||
|
||||
|
64
ui-shared.c
64
ui-shared.c
@ -121,18 +121,6 @@ const char *cgit_repobasename(const char *reponame)
|
||||
return rvbuf;
|
||||
}
|
||||
|
||||
char *cgit_currurl()
|
||||
{
|
||||
if (!ctx.cfg.virtual_root)
|
||||
return ctx.cfg.script_name;
|
||||
else if (ctx.qry.page)
|
||||
return fmt("%s/%s/%s/", ctx.cfg.virtual_root, ctx.qry.repo, ctx.qry.page);
|
||||
else if (ctx.qry.repo)
|
||||
return fmt("%s/%s/", ctx.cfg.virtual_root, ctx.qry.repo);
|
||||
else
|
||||
return fmt("%s/", ctx.cfg.virtual_root);
|
||||
}
|
||||
|
||||
static void site_url(const char *page, const char *search, const char *sort, int ofs)
|
||||
{
|
||||
char *delim = "?";
|
||||
@ -433,8 +421,8 @@ void cgit_stats_link(const char *name, const char *title, const char *class,
|
||||
reporevlink("stats", name, title, class, head, NULL, path);
|
||||
}
|
||||
|
||||
void cgit_self_link(char *name, const char *title, const char *class,
|
||||
struct cgit_context *ctx)
|
||||
static void cgit_self_link(char *name, const char *title, const char *class,
|
||||
struct cgit_context *ctx)
|
||||
{
|
||||
if (!strcmp(ctx->qry.page, "repolist"))
|
||||
cgit_index_link(name, title, class, ctx->qry.search, ctx->qry.sort,
|
||||
@ -513,8 +501,8 @@ void cgit_object_link(struct object *obj)
|
||||
reporevlink(page, name, NULL, NULL, ctx.qry.head, fullrev, NULL);
|
||||
}
|
||||
|
||||
struct string_list_item *lookup_path(struct string_list *list,
|
||||
const char *path)
|
||||
static struct string_list_item *lookup_path(struct string_list *list,
|
||||
const char *path)
|
||||
{
|
||||
struct string_list_item *item;
|
||||
|
||||
@ -717,53 +705,14 @@ void cgit_print_docend()
|
||||
html("</body>\n</html>\n");
|
||||
}
|
||||
|
||||
int print_branch_option(const char *refname, const unsigned char *sha1,
|
||||
int flags, void *cb_data)
|
||||
static int print_branch_option(const char *refname, const unsigned char *sha1,
|
||||
int flags, void *cb_data)
|
||||
{
|
||||
char *name = (char *)refname;
|
||||
html_option(name, name, ctx.qry.head);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int print_archive_ref(const char *refname, const unsigned char *sha1,
|
||||
int flags, void *cb_data)
|
||||
{
|
||||
struct tag *tag;
|
||||
struct taginfo *info;
|
||||
struct object *obj;
|
||||
char buf[256], *url;
|
||||
unsigned char fileid[20];
|
||||
int *header = (int *)cb_data;
|
||||
|
||||
if (prefixcmp(refname, "refs/archives"))
|
||||
return 0;
|
||||
strncpy(buf, refname + 14, sizeof(buf));
|
||||
obj = parse_object(sha1);
|
||||
if (!obj)
|
||||
return 1;
|
||||
if (obj->type == OBJ_TAG) {
|
||||
tag = lookup_tag(sha1);
|
||||
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
|
||||
return 0;
|
||||
hashcpy(fileid, tag->tagged->sha1);
|
||||
} else if (obj->type != OBJ_BLOB) {
|
||||
return 0;
|
||||
} else {
|
||||
hashcpy(fileid, sha1);
|
||||
}
|
||||
if (!*header) {
|
||||
html("<h1>download</h1>\n");
|
||||
*header = 1;
|
||||
}
|
||||
url = cgit_pageurl(ctx.qry.repo, "blob",
|
||||
fmt("id=%s&path=%s", sha1_to_hex(fileid),
|
||||
buf));
|
||||
html_link_open(url, NULL, "menu");
|
||||
html_txt(strlpart(buf, 20));
|
||||
html_link_close();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cgit_add_hidden_formfields(int incl_head, int incl_search,
|
||||
const char *page)
|
||||
{
|
||||
@ -983,4 +932,5 @@ void cgit_print_snapshot_links(const char *repo, const char *head,
|
||||
cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename);
|
||||
html("<br/>");
|
||||
}
|
||||
free(prefix);
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ static const char *get_ref_from_filename(const char *url, const char *filename,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void show_error(char *msg)
|
||||
static void show_error(char *msg)
|
||||
{
|
||||
ctx.page.mimetype = "text/html";
|
||||
cgit_print_http_headers(&ctx);
|
||||
|
17
ui-stats.c
17
ui-stats.c
@ -211,8 +211,8 @@ static int cmp_total_commits(const void *a1, const void *a2)
|
||||
/* Walk the commit DAG and collect number of commits per author per
|
||||
* timeperiod into a nested string_list collection.
|
||||
*/
|
||||
struct string_list collect_stats(struct cgit_context *ctx,
|
||||
struct cgit_period *period)
|
||||
static struct string_list collect_stats(struct cgit_context *ctx,
|
||||
struct cgit_period *period)
|
||||
{
|
||||
struct string_list authors;
|
||||
struct rev_info rev;
|
||||
@ -253,9 +253,12 @@ struct string_list collect_stats(struct cgit_context *ctx,
|
||||
return authors;
|
||||
}
|
||||
|
||||
void print_combined_authorrow(struct string_list *authors, int from, int to,
|
||||
const char *name, const char *leftclass, const char *centerclass,
|
||||
const char *rightclass, struct cgit_period *period)
|
||||
static void print_combined_authorrow(struct string_list *authors, int from,
|
||||
int to, const char *name,
|
||||
const char *leftclass,
|
||||
const char *centerclass,
|
||||
const char *rightclass,
|
||||
struct cgit_period *period)
|
||||
{
|
||||
struct string_list_item *author;
|
||||
struct authorstat *authorstat;
|
||||
@ -293,8 +296,8 @@ void print_combined_authorrow(struct string_list *authors, int from, int to,
|
||||
htmlf("<td class='%s'>%ld</td></tr>", rightclass, total);
|
||||
}
|
||||
|
||||
void print_authors(struct string_list *authors, int top,
|
||||
struct cgit_period *period)
|
||||
static void print_authors(struct string_list *authors, int top,
|
||||
struct cgit_period *period)
|
||||
{
|
||||
struct string_list_item *author;
|
||||
struct authorstat *authorstat;
|
||||
|
2
ui-tag.c
2
ui-tag.c
@ -30,7 +30,7 @@ static void print_tag_content(char *buf)
|
||||
}
|
||||
}
|
||||
|
||||
void print_download_links(char *revname)
|
||||
static void print_download_links(char *revname)
|
||||
{
|
||||
html("<tr><th>download</th><td class='sha1'>");
|
||||
cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head,
|
||||
|
@ -271,7 +271,6 @@ void cgit_print_tree(const char *rev, char *path)
|
||||
if (!rev)
|
||||
rev = ctx.qry.head;
|
||||
|
||||
walk_tree_ctx.curr_rev = xstrdup(rev);
|
||||
if (get_sha1(rev, sha1)) {
|
||||
cgit_print_error(fmt("Invalid revision name: %s", rev));
|
||||
return;
|
||||
@ -282,12 +281,17 @@ void cgit_print_tree(const char *rev, char *path)
|
||||
return;
|
||||
}
|
||||
|
||||
walk_tree_ctx.curr_rev = xstrdup(rev);
|
||||
|
||||
if (path == NULL) {
|
||||
ls_tree(commit->tree->object.sha1, NULL, &walk_tree_ctx);
|
||||
return;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
read_tree_recursive(commit->tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
|
||||
if (walk_tree_ctx.state == 1)
|
||||
ls_tail();
|
||||
|
||||
cleanup:
|
||||
free(walk_tree_ctx.curr_rev);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user