Commit Briefs
gotwebd: add an RSS feed for the tags
ok tracey@
make got_commit_graph_iter_next use caller-provided storage for the id
and adjust the callers. discussed with and ok stsp@
gotwebd: fix briefs navigation broken in 4a9629420
got_get_repo_commits iterates over the commits and build a queue for later display. My previous memleak fix moved the TAILQ_INSERT_TAIL *before* the logic to exit the loop and so it broke the pagination. This fixes it by delaying the insertion into the queue, but also by moving the check for the "previous" button after we've opened the commit. ok tracey
gotwebd: percent-encode generated URLs
This adds a new helper function `gotweb_link' that outputs an HTML link with the parameter correctly escaped. ok stsp@
gotwebd: fix usage of the commit graph iter
got_get_repo_commits mixes ids allocated on the heap and the one returned by the iter_next in the same variable, and then even attemp to free it. This is both a leak (we loose the pointer to the previously allocated id) and a possible invalid free since the object id pointer returned by the graph iterator is not to be passed to free(3). part of a bigger diff that's ok stsp@
gotwebd: drop superfluous check
commit_id is not NULL if got_repo_match_object_id returned successfully. ok stsp@
gotwebd: avoid extra variable in got_output_repo_tree
in_repo_path was used only to build a path, it's then assigned to path (which is NULL at that point.) Just asprintf into path. ok stsp@
gotwebd: plugs leaks in got_get_repo_commits
call got_get_repo_commit only once and avoid leaking the field of repo_commit at each loop iteration. ok stsp@
gotwebd: always free ref in got_get_repo_commits
some code-paths may leak it. ok stsp@
gotwebd: don't close tag in got_get_repo_tags too early
it's still used a bit later, so defer the free'ing at the next loop iteration or at function end.
gotwebd: free commit_msg0 only at the end of got_get_repo_tags
in case of a failure between when it's allocated and when it's released it might get leaked otherwise. ok and semplification stsp@
gotwebd: free all allocated fields of repo_tag
got_get_repo_tags needs some tweaking to how tag_commit is allocated too. ok stsp@
gotwebd: fix possible leaks when handling errors
all very unlikely. part of a bigger diff that's ok stsp@
gotwebd: minor tweaks
drop: - a tautological s[strlen(s)] == '\0' - a few duplicates checks - a lone if (error) when it's always NULL - an extra NULL check part of a bigger diff that's ok stsp@