diff options
Diffstat (limited to 'shared.c')
-rw-r--r-- | shared.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -53,6 +53,7 @@ struct cgit_repo *cgit_add_repo(const char *url) ret->name = ret->url; ret->path = NULL; ret->desc = cgit_default_repo_desc; + ret->extra_head_content = NULL; ret->owner = NULL; ret->homepage = NULL; ret->section = ctx.cfg.section; @@ -239,7 +240,7 @@ static int load_mmfile(mmfile_t *file, const struct object_id *oid) file->ptr = (char *)""; file->size = 0; } else { - file->ptr = read_sha1_file(oid->hash, &type, + file->ptr = read_object_file(oid, &type, (unsigned long *)&file->size); } return 1; @@ -390,6 +391,9 @@ int cgit_parse_snapshots_mask(const char *str) if (atoi(str)) return 1; + if (strcmp(str, "all") == 0) + return INT_MAX; + string_list_split(&tokens, str, ' ', -1); string_list_remove_empty_items(&tokens, 0); @@ -397,7 +401,7 @@ int cgit_parse_snapshots_mask(const char *str) for (f = cgit_snapshot_formats; f->suffix; f++) { if (!strcmp(item->string, f->suffix) || !strcmp(item->string, f->suffix + 1)) { - rv |= f->bit; + rv |= cgit_snapshot_format_bit(f); break; } } @@ -472,15 +476,16 @@ static int is_token_char(char c) static char *expand_macro(char *name, int maxlength) { char *value; - int len; + size_t len; len = 0; value = getenv(name); if (value) { - len = strlen(value); + len = strlen(value) + 1; if (len > maxlength) len = maxlength; - strncpy(name, value, len); + strlcpy(name, value, len); + --len; } return name + len; } |