void mc_shell_init (void) { mc_shell_t *mc_shell; mc_shell = mc_shell_get_from_env (); if (mc_shell == NULL) mc_shell = mc_shell_get_installed_in_system (); mc_shell->real_path = mc_realpath (mc_shell->path, rp_shell); if (!mc_shell_recognize_and_fill_type (mc_shell)) mc_global.tty.use_subshell = FALSE; mc_global.shell = mc_shell; }
void mc_shell_init (void) { mc_shell_t *mc_shell; mc_shell = mc_shell_get_from_env (); if (mc_shell == NULL) mc_shell = mc_shell_get_installed_in_system (); mc_shell->real_path = mc_realpath (mc_shell->path, rp_shell); /* Find out what type of shell we have. Also consider real paths (resolved symlinks) * because e.g. csh might point to tcsh, ash to dash or busybox, sh to anything. */ if (mc_shell->real_path != NULL) mc_shell_recognize_real_path (mc_shell); if (mc_shell->type == SHELL_NONE) mc_shell_recognize_path (mc_shell); mc_global.tty.use_subshell = mc_shell->type != SHELL_NONE; mc_global.shell = mc_shell; }