summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-repolist.c15
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
@@ -137,4 +137,16 @@ static int cmp(const char *s1, const char *s2)
137} 137}
138 138
139static int sort_section(const void *a, const void *b)
140{
141 const struct cgit_repo *r1 = a;
142 const struct cgit_repo *r2 = b;
143 int result;
144
145 result = cmp(r1->section, r2->section);
146 if (!result)
147 result = cmp(r1->name, r2->name);
148 return result;
149}
150
139static int sort_name(const void *a, const void *b) 151static int sort_name(const void *a, const void *b)
140{ 152{
@@ -179,4 +191,5 @@ struct sortcolumn {
179 191
180struct sortcolumn sortcolumn[] = { 192struct sortcolumn sortcolumn[] = {
193 {"section", sort_section},
181 {"name", sort_name}, 194 {"name", sort_name},
182 {"desc", sort_desc}, 195 {"desc", sort_desc},
@@ -220,4 +233,6 @@ void cgit_print_repolist()
220 if(ctx.qry.sort) 233 if(ctx.qry.sort)
221 sorted = sort_repolist(ctx.qry.sort); 234 sorted = sort_repolist(ctx.qry.sort);
235 else
236 sort_repolist("section");
222 237
223 html("<table summary='repository list' class='list nowrap'>"); 238 html("<table summary='repository list' class='list nowrap'>");