]> git.cameronkatri.com Git - cgit.git/blobdiff - shared.c
ui-shared: fix segfault when defbranch is NULL
[cgit.git] / shared.c
index 3d91a76ec09c8a88aefa2d1148f3542aa6850565..a63633b295578cc9302b9842722a0184e4e02792 100644 (file)
--- a/shared.c
+++ b/shared.c
@@ -54,6 +54,7 @@ struct cgit_repo *cgit_add_repo(const char *url)
        ret->path = NULL;
        ret->desc = cgit_default_repo_desc;
        ret->owner = NULL;
+       ret->homepage = NULL;
        ret->section = ctx.cfg.section;
        ret->snapshots = ctx.cfg.snapshots;
        ret->enable_commit_graph = ctx.cfg.enable_commit_graph;
@@ -61,6 +62,7 @@ struct cgit_repo *cgit_add_repo(const char *url)
        ret->enable_log_linecount = ctx.cfg.enable_log_linecount;
        ret->enable_remote_branches = ctx.cfg.enable_remote_branches;
        ret->enable_subject_links = ctx.cfg.enable_subject_links;
+       ret->enable_html_serving = ctx.cfg.enable_html_serving;
        ret->max_stats = ctx.cfg.max_stats;
        ret->branch_sort = ctx.cfg.branch_sort;
        ret->commit_sort = ctx.cfg.commit_sort;
@@ -402,8 +404,8 @@ void cgit_diff_commit(struct commit *commit, filepair_fn fn, const char *prefix)
        unsigned char *old_sha1 = NULL;
 
        if (commit->parents)
-               old_sha1 = commit->parents->item->object.sha1;
-       cgit_diff_tree(old_sha1, commit->object.sha1, fn, prefix,
+               old_sha1 = commit->parents->item->object.oid.hash;
+       cgit_diff_tree(old_sha1, commit->object.oid.hash, fn, prefix,
                       ctx.qry.ignorews);
 }
 
@@ -563,7 +565,7 @@ char *expand_macros(const char *txt)
 
 char *get_mimetype_for_filename(const char *filename)
 {
-       char *ext, *mimetype, *token, line[1024];
+       char *ext, *mimetype, *token, line[1024], *saveptr;
        FILE *file;
        struct string_list_item *mime;
 
@@ -588,8 +590,8 @@ char *get_mimetype_for_filename(const char *filename)
        while (fgets(line, sizeof(line), file)) {
                if (!line[0] || line[0] == '#')
                        continue;
-               mimetype = strtok(line, " \t\r\n");
-               while ((token = strtok(NULL, " \t\r\n"))) {
+               mimetype = strtok_r(line, " \t\r\n", &saveptr);
+               while ((token = strtok_r(NULL, " \t\r\n", &saveptr))) {
                        if (!strcasecmp(ext, token)) {
                                fclose(file);
                                return xstrdup(mimetype);