Browse Source

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>
maint
Victoria Dye 3 years ago committed by Junio C Hamano
parent
commit
9b24bb9205
  1. 11
      contrib/scalar/scalar.c

11
contrib/scalar/scalar.c

@ -407,7 +407,7 @@ static int delete_enlistment(struct strbuf *enlistment)
#endif #endif


if (unregister_dir()) if (unregister_dir())
die(_("failed to unregister repository")); return error(_("failed to unregister repository"));


#ifdef WIN32 #ifdef WIN32
/* /*
@ -418,13 +418,16 @@ static int delete_enlistment(struct strbuf *enlistment)
path_sep = find_last_dir_sep(enlistment->buf + offset); path_sep = find_last_dir_sep(enlistment->buf + offset);
strbuf_add(&parent, enlistment->buf, strbuf_add(&parent, enlistment->buf,
path_sep ? path_sep - enlistment->buf : offset); path_sep ? path_sep - enlistment->buf : offset);
if (chdir(parent.buf) < 0) if (chdir(parent.buf) < 0) {
die_errno(_("could not switch to '%s'"), parent.buf); int res = error_errno(_("could not switch to '%s'"), parent.buf);
strbuf_release(&parent);
return res;
}
strbuf_release(&parent); strbuf_release(&parent);
#endif #endif


if (remove_dir_recursively(enlistment, 0)) if (remove_dir_recursively(enlistment, 0))
die(_("failed to delete enlistment directory")); return error(_("failed to delete enlistment directory"));


return 0; return 0;
} }

Loading…
Cancel
Save