From: Mark Jamsek Subject: Re: gotwebd: bubble up got_get_repo_tags To: Omar Polo Cc: gameoftrees@openbsd.org Date: Fri, 13 Jan 2023 18:09:12 +1100 On 23-01-12 12:26PM, Omar Polo wrote: > This bubbles up the call to got_get_repo_tags from gotweb_render_tags > to its caller, gotweb_process_request and gotweb_render_summary. It > helps simplifying gotweb_render_summary and making it easier to > templateify, but also helps in untangling a bit the code. > > At this point gotweb_render_tags becomes just a wrapper to > gotweb_render_tags_tmpl so switch completely to it. > > It may help in revieving the diff remembering that > gotweb_render_summary calls gotweb_render_briefs before rendering the > tags, where qs->action is assigned to BRIEFS. > > ok? ok (notwithstanding the copypasta you noted in your follow-up) > diff /home/op/w/got > commit - 3ab2c91424750aef75f929402e6a7581a704f36d > path + /home/op/w/got > blob - df7d335b7261e2e7472a0004b490f669e3a56351 > file + gotwebd/gotweb.c > --- gotwebd/gotweb.c > +++ gotwebd/gotweb.c > @@ -95,7 +95,6 @@ static const struct got_error *gotweb_render_tags(stru > const char *, int); > static const struct got_error *gotweb_render_blame(struct request *); > static const struct got_error *gotweb_render_summary(struct request *); > -static const struct got_error *gotweb_render_tags(struct request *); > > static void gotweb_free_querystring(struct querystring *); > static void gotweb_free_repo_dir(struct repo_dir *); > @@ -310,11 +309,13 @@ render: > goto done; > break; > case TAGS: > - error = gotweb_render_tags(c); > + error = got_get_repo_tags(c, srv->max_commits_display); > if (error) { > log_warnx("%s: %s", __func__, error->msg); > - goto err; > + goto done; > } > + if (gotweb_render_tags(c->tp) == -1) > + goto done; > break; > case TREE: > error = got_get_repo_commits(c, 1); > @@ -1016,6 +1017,7 @@ gotweb_render_summary(struct request *c) > const struct got_error *error = NULL; > struct got_reflist_head refs; > struct transport *t = c->t; > + struct querystring *qs = t->qs; > struct got_repository *repo = t->repo; > struct server *srv = c->srv; > int r; > @@ -1073,41 +1075,20 @@ gotweb_render_summary(struct request *c) > if (gotweb_render_briefs(c->tp) == -1) > goto done; > > - error = gotweb_render_tags(c); > - if (error) { > - log_warnx("%s: %s", __func__, error->msg); > + qs->action = TAGS; > + error = got_get_repo_tags(c, D_MAXSLCOMMDISP); > + if (error) > goto done; > - } > > + if (gotweb_render_tags(c->tp) == -1) > + goto done; > + > gotweb_render_branches(c->tp, &refs); > done: > got_ref_list_free(&refs); > return error; > } > > -static const struct got_error * > -gotweb_render_tags(struct request *c) > -{ > - const struct got_error *error = NULL; > - struct server *srv = c->srv; > - struct transport *t = c->t; > - struct querystring *qs = t->qs; > - > - if (qs->action == BRIEFS) { > - qs->action = TAGS; > - error = got_get_repo_tags(c, D_MAXSLCOMMDISP); > - } else > - error = got_get_repo_tags(c, srv->max_commits_display); > - if (error) > - goto done; > - > - if (gotweb_render_tags_tmpl(c->tp) == -1) > - goto done; > - > -done: > - return error; > -} > - > const struct got_error * > gotweb_escape_html(char **escaped_html, const char *orig_html) > { > blob - 47eed11a0ded054e1f08fe6bee4bc4b5af4aea0e > file + gotwebd/gotwebd.h > --- gotwebd/gotwebd.h > +++ gotwebd/gotwebd.h > @@ -470,7 +470,7 @@ int gotweb_render_tags_tmpl(struct template *); > int gotweb_render_commits(struct template *); > int gotweb_render_blob(struct template *, struct got_blob_object *); > int gotweb_render_tree(struct template *); > -int gotweb_render_tags_tmpl(struct template *); > +int gotweb_render_tags(struct template *); > int gotweb_render_tag(struct template *); > int gotweb_render_diff(struct template *, FILE *); > int gotweb_render_branches(struct template *, struct got_reflist_head *); > blob - 6cf6d4d7e32e66e8dbd1cf8b8d9740fec9fe9ef2 > file + gotwebd/pages.tmpl > --- gotwebd/pages.tmpl > +++ gotwebd/pages.tmpl > @@ -577,7 +577,7 @@ gotweb_render_age(struct template *tp, time_t time, in > !} > {{ end }} > > -{{ define gotweb_render_tags_tmpl(struct template *tp) }} > +{{ define gotweb_render_tags(struct template *tp) }} > {! > struct request *c = tp->tp_arg; > struct transport *t = c->t; > -- Mark Jamsek GPG: F2FF 13DE 6A06 C471 CA80 E6E2 2930 DC66 86EE CF68