Forgot to reset hunk & line between files The last change tweaked the way we use the hunk_curr pointer during iteration, but failed to reset the value back to NULL when switching files.
diff --git a/src/diff_output.c b/src/diff_output.c
index 50e3cc1..37cceff 100644
--- a/src/diff_output.c
+++ b/src/diff_output.c
@@ -1285,8 +1285,9 @@ static void diffiter_do_unload_file(git_diff_iterator *iter)
}
iter->ctxt.delta = NULL;
- iter->hunk_head = NULL;
+ iter->hunk_curr = iter->hunk_head = NULL;
iter->hunk_count = 0;
+ iter->line_curr = NULL;
}
int git_diff_iterator_new(