sparse-checkout: consolidate cleanup when writing patterns
In write_patterns_and_update(), we always need to free the pattern list before exiting the function. Rather than handling it manually when we return early, we can jump to an "out" label where cleanup happens. This let us drop one line, but also establishes a pattern we can use for other cleanup. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
2e7b89e038
commit
d39cc7185e
@ -343,9 +343,8 @@ static int write_patterns_and_update(struct pattern_list *pl)
|
||||
result = update_working_directory(pl);
|
||||
if (result) {
|
||||
rollback_lock_file(&lk);
|
||||
clear_pattern_list(pl);
|
||||
update_working_directory(NULL);
|
||||
return result;
|
||||
goto out;
|
||||
}
|
||||
|
||||
fp = xfdopen(fd, "w");
|
||||
@ -358,9 +357,9 @@ static int write_patterns_and_update(struct pattern_list *pl)
|
||||
fflush(fp);
|
||||
commit_lock_file(&lk);
|
||||
|
||||
out:
|
||||
clear_pattern_list(pl);
|
||||
|
||||
return 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
enum sparse_checkout_mode {
|
||||
|
Reference in New Issue
Block a user