-rw-r--r-- | ui-repolist.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ui-repolist.c b/ui-repolist.c index 4dea3b3..d56654d 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -138,2 +138,14 @@ static int cmp(const char *s1, const char *s2) +static int sort_section(const void *a, const void *b) +{ + const struct cgit_repo *r1 = a; + const struct cgit_repo *r2 = b; + int result; + + result = cmp(r1->section, r2->section); + if (!result) + result = cmp(r1->name, r2->name); + return result; +} + static int sort_name(const void *a, const void *b) @@ -180,2 +192,3 @@ struct sortcolumn { struct sortcolumn sortcolumn[] = { + {"section", sort_section}, {"name", sort_name}, @@ -221,2 +234,4 @@ void cgit_print_repolist() sorted = sort_repolist(ctx.qry.sort); + else + sort_repolist("section"); |