commit - 0e8c500ae126f5078ab1446f6639e6eb88346ab8
commit + 185ba3ba2ee37530a55542b09125528b69c4a4f5
blob - 5dde781c40c7a9649c8b1c51275c22ff6cc988d4
blob + 9abbe2f52c429cf8b692daf0e18ca2b55e70e62d
--- gotweb/gotweb.c
+++ gotweb/gotweb.c
static struct gw_dir *gw_init_gw_dir(char *);
static struct gw_header *gw_init_header(void);
-static const struct got_error *gw_get_repo_description(char **, struct gw_trans *,
- char *);
+static const struct got_error *gw_get_repo_description(char **,
+ struct gw_trans *, char *);
static const struct got_error *gw_get_repo_owner(char **, struct gw_trans *,
char *);
static const struct got_error *gw_get_time_str(char **, time_t, int);
static const struct got_error *gw_get_repo_age(char **, struct gw_trans *,
char *, char *, int);
-static const struct got_error *gw_get_file_blame_blob(char **, struct gw_trans *);
+static const struct got_error *gw_get_file_blame_blob(char **,
+ struct gw_trans *);
static const struct got_error *gw_get_file_read_blob(char **, size_t *,
struct gw_trans *);
static const struct got_error *gw_get_repo_tree(char **, struct gw_trans *);
static const struct got_error *gw_get_repo_tags(char **, struct gw_trans *,
struct gw_header *, int, int);
static const struct got_error *gw_get_repo_heads(char **, struct gw_trans *);
-static const struct got_error *gw_get_clone_url(char **, struct gw_trans *, char *);
-static char *gw_get_got_link(struct gw_trans *);
+static const struct got_error *gw_get_clone_url(char **, struct gw_trans *,
+ char *);
static char *gw_get_site_link(struct gw_trans *);
static const struct got_error *gw_html_escape(char **, const char *);
static const struct got_error *gw_colordiff_line(char **, char *);
const struct got_error *error = NULL;
enum kcgi_err kerr;
struct gw_trans *gw_trans = arg;
- char *gw_got_link, *gw_site_link;
+ char *gw_site_link, *img_src = NULL;
switch (key) {
case (TEMPL_HEAD):
return 0;
break;
case(TEMPL_HEADER):
- gw_got_link = gw_get_got_link(gw_trans);
- if (gw_got_link != NULL) {
- kerr = khttp_puts(gw_trans->gw_req, gw_got_link);
- if (kerr != KCGI_OK) {
- free(gw_got_link);
- return 0;
- }
+ kerr = khtml_attr(gw_trans->gw_html_req, KELEM_DIV,
+ KATTR_ID, "got_link", KATTR__MAX);
+ if (kerr != KCGI_OK)
+ return 0;
+ kerr = khtml_attr(gw_trans->gw_html_req, KELEM_A,
+ KATTR_HREF, gw_trans->gw_conf->got_logo_url,
+ KATTR_TARGET, "_sotd", KATTR__MAX);
+ if (kerr != KCGI_OK)
+ return 0;
+ if (asprintf(&img_src, "/%s",
+ gw_trans->gw_conf->got_logo) == -1)
+ return 0;
+ kerr = khtml_attr(gw_trans->gw_html_req, KELEM_IMG,
+ KATTR_SRC, img_src, KATTR__MAX);
+ if (kerr != KCGI_OK) {
+ free(img_src);
+ return 0;
}
- free(gw_got_link);
+ kerr = khtml_closeelem(gw_trans->gw_html_req, 3);
+ if (kerr != KCGI_OK) {
+ free(img_src);
+ return 0;
+ }
break;
case (TEMPL_SITEPATH):
gw_site_link = gw_get_site_link(gw_trans);
}
static char *
-gw_get_got_link(struct gw_trans *gw_trans)
-{
- char *link;
-
- if (asprintf(&link, got_link, gw_trans->gw_conf->got_logo_url,
- gw_trans->gw_conf->got_logo) == -1)
- return NULL;
-
- return link;
-}
-
-static char *
gw_get_site_link(struct gw_trans *gw_trans)
{
char *link = NULL, *repo = NULL, *action = NULL;