In following commit addition of commands to the todo file will be implemented for the --edit-todo action. So extract a function to avoid duplicating the code for splitting of opts->cmd into list of commands. Signed-off-by: Andrei Rybak <rybak.a.v@xxxxxxxxx> --- builtin/rebase.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/builtin/rebase.c b/builtin/rebase.c index 9457912f9d..27507d3cf6 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -299,6 +299,17 @@ static void split_exec_commands(const char *cmd, struct string_list *commands) } } +static int add_exec(const char *cmd) +{ + struct string_list commands = STRING_LIST_INIT_DUP; + int ret; + + split_exec_commands(cmd, &commands); + ret = add_exec_commands(&commands); + string_list_clear(&commands, 0); + return ret; +} + static int do_interactive_rebase(struct rebase_options *opts, unsigned flags) { int ret; @@ -420,11 +431,7 @@ static int run_rebase_interactive(struct rebase_options *opts, ret = rearrange_squash_in_todo_file(); break; case ACTION_ADD_EXEC: { - struct string_list commands = STRING_LIST_INIT_DUP; - - split_exec_commands(opts->cmd, &commands); - ret = add_exec_commands(&commands); - string_list_clear(&commands, 0); + ret = add_exec(opts->cmd); break; } default: -- 2.24.0.windows.2