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>

Victoria Dye committed Aug 18, 2022 at 21:40 UTC 9b24bb9205e62464c09882e626d17710fb62b82d
1 file changed +7 -4
contrib/scalar/scalar.c
+7 -4
@@ -407,7 +407,7 @@ static int delete_enlistment(struct strbuf *enlistment)
407 #endif
408
409 if (unregister_dir())
410 - die(_("failed to unregister repository"));
410 + return error(_("failed to unregister repository"));
411
412 #ifdef WIN32
413 /*
@@ -418,13 +418,16 @@ static int delete_enlistment(struct strbuf *enlistment)
418 path_sep = find_last_dir_sep(enlistment->buf + offset);
419 strbuf_add(&parent, enlistment->buf,
420 path_sep ? path_sep - enlistment->buf : offset);
421 - if (chdir(parent.buf) < 0)
422 - die_errno(_("could not switch to '%s'"), parent.buf);
421 + if (chdir(parent.buf) < 0) {
422 + int res = error_errno(_("could not switch to '%s'"), parent.buf);
423 + strbuf_release(&parent);
424 + return res;
425 + }
426 strbuf_release(&parent);
427 #endif
428
429 if (remove_dir_recursively(enlistment, 0))
427 - die(_("failed to delete enlistment directory"));
430 + return error(_("failed to delete enlistment directory"));
431
432 return 0;
433 }