gout

A static git page generator
git clone https://git.bracken.jp/gout.git
Log | Files | Refs | README | LICENSE

commit b7f749eb3782322e9de02f0dc6fbbc3866f4f1d2
parent 06d46261f744f05d63b66e196c82df21c241a400
Author: Chris Bracken <chris@bracken.jp>
Date:   Tue, 17 Feb 2026 18:14:14 +0900

delta: make GitHunk.header an owned copy

Diffstat:
Msrc/git/delta.c | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/git/delta.c b/src/git/delta.c @@ -82,7 +82,7 @@ size_t githunkline_content_len(const GitHunkLine* line) { struct GitHunk { size_t id; - const char* header; + char* header; GitHunkLine** lines; size_t lines_len; }; @@ -96,7 +96,7 @@ GitHunk* githunk_create(git_patch* patch, size_t hunk_id) { GitHunk* hunk_out = ecalloc(1, sizeof(GitHunk)); hunk_out->id = hunk_id; - hunk_out->header = hunk->header; + hunk_out->header = estrdup(hunk->header); hunk_out->lines = ecalloc(line_count, sizeof(GitHunkLine*)); size_t lines_out_count = 0; for (size_t i = 0; i < line_count; i++) { @@ -113,6 +113,7 @@ void githunk_free(GitHunk* hunk) { if (!hunk) { return; } + free(hunk->header); for (size_t i = 0; i < hunk->lines_len; i++) { githunkline_free(hunk->lines[i]); hunk->lines[i] = NULL;