aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/scalar/scalar.c
diff options
context:
space:
mode:
authorVictoria Dye <vdye@github.com>2022-08-18 21:40:49 +0000
committerJunio C Hamano <gitster@pobox.com>2022-08-18 21:35:32 -0700
commit9b24bb9205e62464c09882e626d17710fb62b82d (patch)
treeaf9fa38493d302e68cf6f2807f2e0e23dd4a9ff3 /contrib/scalar/scalar.c
parentd2a79bc953375ed7dd8cb06fd3db92f85c64c206 (diff)
downloadgit-9b24bb9205e62464c09882e626d17710fb62b82d.tar.gz
scalar-delete: do not 'die()' in 'delete_enlistment()'
Rather than exiting with 'die()' when 'delete_enlistment()' encounters an error, return an error code with the appropriate message. There's no need for an abrupt exit with 'die()' in 'delete_enlistment()' because its only caller ('cmd_delete()') properly cleans up allocated resources and returns the 'delete_enlistment()' return value as its own exit code. Signed-off-by: Victoria Dye <vdye@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/scalar/scalar.c')
-rw-r--r--contrib/scalar/scalar.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/contrib/scalar/scalar.c b/contrib/scalar/scalar.c
index 7be2a938b0..6de4d5b372 100644
--- a/contrib/scalar/scalar.c
+++ b/contrib/scalar/scalar.c
@@ -407,7 +407,7 @@ static int delete_enlistment(struct strbuf *enlistment)
#endif
if (unregister_dir())
- die(_("failed to unregister repository"));
+ return error(_("failed to unregister repository"));
#ifdef WIN32
/*
@@ -418,13 +418,16 @@ static int delete_enlistment(struct strbuf *enlistment)
path_sep = find_last_dir_sep(enlistment->buf + offset);
strbuf_add(&parent, enlistment->buf,
path_sep ? path_sep - enlistment->buf : offset);
- if (chdir(parent.buf) < 0)
- die_errno(_("could not switch to '%s'"), parent.buf);
+ if (chdir(parent.buf) < 0) {
+ int res = error_errno(_("could not switch to '%s'"), parent.buf);
+ strbuf_release(&parent);
+ return res;
+ }
strbuf_release(&parent);
#endif
if (remove_dir_recursively(enlistment, 0))
- die(_("failed to delete enlistment directory"));
+ return error(_("failed to delete enlistment directory"));
return 0;
}