jcs
/amend
/amendments
/169
repo: Remove bogus allocation, reset attrs on deleted file
jcs made amendment 169 24 days ago
--- repo.c Mon Sep 28 13:41:14 2026
+++ repo.c Mon Sep 28 13:57:16 2026
@@ -128,7 +128,6 @@ repo_init(struct bile *bile, bool is_new)
size = bile_read_alloc(bile, REPO_FILE_RTYPE, ids[i], &data);
if (size == 0)
panic("failed fetching file %ld", ids[i]);
- repo->files[i] = xmalloc(sizeof(struct repo_file));
repo->files[i] = repo_parse_file(ids[i], (unsigned char *)data,
size);
if (repo->files[i]->id >= repo->next_file_id)
@@ -825,6 +824,8 @@ repo_diff_file(struct repo *repo, struct repo_file *fi
error = repo_get_file_attrs(repo, tofilename, &attrs);
if (error == fnfErr) {
/* file no longer exists, create empty temp file */
+ memset(&attrs, 0, sizeof(attrs));
+ attrs.mtime = Time;
snprintf((char *)tofilename, HFS_FILENAME_MAX + 1,
"[deleted] %s", file->filename);
CtoPstr(tofilename);