cgit.c: make print_repolist() and print_repo() reusable for caching

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2009-08-19 17:47:24 +02:00
parent 523a2161b9
commit 302a3efa26

24
cgit.c
View File

@ -416,26 +416,26 @@ int cmp_repos(const void *a, const void *b)
return strcmp(ra->url, rb->url); return strcmp(ra->url, rb->url);
} }
void print_repo(struct cgit_repo *repo) void print_repo(FILE *f, struct cgit_repo *repo)
{ {
printf("repo.url=%s\n", repo->url); fprintf(f, "repo.url=%s\n", repo->url);
printf("repo.name=%s\n", repo->name); fprintf(f, "repo.name=%s\n", repo->name);
printf("repo.path=%s\n", repo->path); fprintf(f, "repo.path=%s\n", repo->path);
if (repo->owner) if (repo->owner)
printf("repo.owner=%s\n", repo->owner); fprintf(f, "repo.owner=%s\n", repo->owner);
if (repo->desc) if (repo->desc)
printf("repo.desc=%s\n", repo->desc); fprintf(f, "repo.desc=%s\n", repo->desc);
if (repo->readme) if (repo->readme)
printf("repo.readme=%s\n", repo->readme); fprintf(f, "repo.readme=%s\n", repo->readme);
printf("\n"); fprintf(f, "\n");
} }
void print_repolist(struct cgit_repolist *list) void print_repolist(FILE *f, struct cgit_repolist *list, int start)
{ {
int i; int i;
for(i = 0; i < list->count; i++) for(i = start; i < list->count; i++)
print_repo(&list->repos[i]); print_repo(f, &list->repos[i]);
} }
@ -482,7 +482,7 @@ static void cgit_parse_args(int argc, const char **argv)
if (scan) { if (scan) {
qsort(cgit_repolist.repos, cgit_repolist.count, qsort(cgit_repolist.repos, cgit_repolist.count,
sizeof(struct cgit_repo), cmp_repos); sizeof(struct cgit_repo), cmp_repos);
print_repolist(&cgit_repolist); print_repolist(stdout, &cgit_repolist, 0);
exit(0); exit(0);
} }
} }