[PATCH v2 04/20] checkout: die_if_checked_out: simplify strbuf management
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jul 16, 2015, 08:20 UTC
- Message-ID
- <1437034825-32054-5-git-send-email-sunshine@sunshineco.com>
- In-Reply-To
- <1437034825-32054-1-git-send-email-sunshine@sunshineco.com>
There is no reason to keep the strbuf active long after its last use. By releasing it as early as possible, resource management is simplified and there is less worry about future changes resulting in a leak.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> ---
No changes since v1.
builtin/checkout.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c index 1992c41..c36bf8a 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -924,17 +924,16 @@ static void die_if_checked_out(struct branch_info *new) check_linked_checkout(new, NULL); strbuf_addf(&path, "%s/worktrees", get_git_common_dir()); - if ((dir = opendir(path.buf)) == NULL) { - strbuf_release(&path); + dir = opendir(path.buf); + strbuf_release(&path); + if (!dir) return; - } while ((d = readdir(dir)) != NULL) { if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, "..")) continue; check_linked_checkout(new, d->d_name); } - strbuf_release(&path); closedir(dir); }
-- 2.5.0.rc2.378.g0af52e8