[v2,10/13] ui/ncurses: Simplify starting shell
diff mbox series

Message ID 20181128042012.25916-11-sam@mendozajonas.com
State Accepted
Headers show
Series
  • User support and client permissions
Related show

Commit Message

Samuel Mendoza-Jonas Nov. 28, 2018, 4:20 a.m. UTC
Instead of calling sh twice to echo the 'exiting' message just call sh
by itself and leave any welcome message to the shell's interactive
config.
Also drop the explicit nc_scr_unpost() in cui_run_cmd() since clear()
will blank out the screen anyway.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
---
 ui/ncurses/nc-cui.c | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

Patch
diff mbox series

diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c
index 8ad89553..3c754546 100644
--- a/ui/ncurses/nc-cui.c
+++ b/ui/ncurses/nc-cui.c
@@ -206,31 +206,17 @@  void cui_resize(struct cui *cui)
 void cui_on_exit(struct pmenu *menu)
 {
 	struct cui *cui = cui_from_pmenu(menu);
-	char *sh_cmd;
 
 	cui_cancel_autoboot_on_exit(cui);
 
-	sh_cmd = talloc_asprintf(cui,
-		"echo \"Exiting petitboot. Type 'exit' to return.\";\
-		 echo \"You may run 'pb-sos' to gather diagnostic data\";\
-		 %s", pb_system_apps.sh);
-
-	if (!sh_cmd) {
-		pb_log("Failed to allocate shell arguments\n");
-		return;
-	}
-
 	const char *argv[] = {
 		pb_system_apps.sh,
-		"-c",
-		sh_cmd,
 		NULL
 	};
 
 	cui_run_cmd(cui, argv);
 
 	nc_scr_status_printf(cui->current, _("Returned from shell"));
-	talloc_free(sh_cmd);
 }
 
 /**
@@ -263,11 +249,9 @@  int cui_run_cmd(struct cui *cui, const char **cmd_argv)
 
 	nc_scr_status_printf(cui->current, _("Running %s..."), cmd_argv[0]);
 
-	nc_scr_unpost(cui->current);
+	def_prog_mode();
 	clear();
 	refresh();
-
-	def_prog_mode();
 	endwin();
 
 	result = process_run_sync(process);