diff mbox series

[v3,1/2] branch: refactor "edit_description" code path

Message ID 67253834-8bfa-c249-6594-6418d6ae6805@gmail.com (mailing list archive)
State Superseded
Headers show
Series branch: support for shortcuts like @{-1}, completed | expand

Commit Message

Rubén Justo Sept. 8, 2022, 4:51 a.m. UTC
Minor refactoring to reduce the number of returns in the switch case
handling the "edit_description" option, so the calls to strbuf_release
can also be reduced.  New resources to be added also do not need to be
released in multiple places.

Signed-off-by: Rubén Justo <rjusto@gmail.com>
---
 builtin/branch.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/builtin/branch.c b/builtin/branch.c
index 55cd9a6e99..b1f6519cd9 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -791,6 +791,7 @@  int cmd_branch(int argc, const char **argv, const char *prefix)
 	} else if (edit_description) {
 		const char *branch_name;
 		struct strbuf branch_ref = STRBUF_INIT;
+		int ret = 0;
 
 		if (!argc) {
 			if (filter.detached)
@@ -803,19 +804,17 @@  int cmd_branch(int argc, const char **argv, const char *prefix)
 
 		strbuf_addf(&branch_ref, "refs/heads/%s", branch_name);
 		if (!ref_exists(branch_ref.buf)) {
-			strbuf_release(&branch_ref);
-
 			if (!argc)
-				return error(_("No commit on branch '%s' yet."),
+				ret = error(_("No commit on branch '%s' yet."),
 					     branch_name);
 			else
-				return error(_("No branch named '%s'."),
+				ret = error(_("No branch named '%s'."),
 					     branch_name);
-		}
-		strbuf_release(&branch_ref);
+		} else if (edit_branch_description(branch_name))
+			ret = 1;
 
-		if (edit_branch_description(branch_name))
-			return 1;
+		strbuf_release(&branch_ref);
+		return ret;
 	} else if (copy) {
 		if (!argc)
 			die(_("branch name required"));