From: Eric Sunshine Date: Fri, 17 Jul 2015 22:59:59 +0000 (-0400) Subject: checkout: die_if_checked_out: simplify strbuf management X-Git-Tag: v2.12.0~2^2~11 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/4e07815dba5ccad0cfcb672b99e2000bd3dc3543?ds=inline;hp=aaad2c948f11cd57348135fb1e62b012db716182 checkout: die_if_checked_out: simplify strbuf management 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 Signed-off-by: Junio C Hamano --- diff --git a/builtin/checkout.c b/builtin/checkout.c index 1992c41d48..c36bf8acfb 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); }