diff mbox series

[RFC,10/13] ui/ncurses: Simplify starting shell

Message ID 20180628064151.13370-11-sam@mendozajonas.com
State RFC
Headers show
Series User support and client permissions | expand

Commit Message

Sam Mendoza-Jonas June 28, 2018, 6:41 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(-)
diff mbox series

Patch

diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c
index 8a3f97d..0b421c6 100644
--- a/ui/ncurses/nc-cui.c
+++ b/ui/ncurses/nc-cui.c
@@ -171,31 +171,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);
 }
 
 /**
@@ -217,11 +203,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);