зеркало из https://github.com/microsoft/git.git
launch_editor: refactor to use start/finish_command
The launch_editor function uses the convenient run_command_* interface. Let's use the more flexible start_command and finish_command functions, which will let us manipulate the parent state while we're waiting for the child to finish. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
13274526c1
Коммит
f42ca31d8d
10
editor.c
10
editor.c
|
@ -37,8 +37,16 @@ int launch_editor(const char *path, struct strbuf *buffer, const char *const *en
|
|||
|
||||
if (strcmp(editor, ":")) {
|
||||
const char *args[] = { editor, path, NULL };
|
||||
struct child_process p;
|
||||
|
||||
if (run_command_v_opt_cd_env(args, RUN_USING_SHELL, NULL, env))
|
||||
memset(&p, 0, sizeof(p));
|
||||
p.argv = args;
|
||||
p.env = env;
|
||||
p.use_shell = 1;
|
||||
if (start_command(&p) < 0)
|
||||
return error("unable to start editor '%s'", editor);
|
||||
|
||||
if (finish_command(&p))
|
||||
return error("There was a problem with the editor '%s'.",
|
||||
editor);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче