aboutsummaryrefslogtreecommitdiffstats
path: root/shared.c
diff options
context:
space:
mode:
Diffstat (limited to 'shared.c')
-rw-r--r--shared.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/shared.c b/shared.c
index 21ac8f4..609bd2a 100644
--- a/shared.c
+++ b/shared.c
@@ -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;
}