diff --git a/src/global.h b/src/global.h index 67e4141bc49313747530b80f1ba6444940aa9c15..9ba22bae9c965e24b5bbce4436162b09f91e1768 100644 --- a/src/global.h +++ b/src/global.h @@ -103,5 +103,6 @@ int input_handle(int); #include "help.h" #include "path.h" #include "util.h" +#include "shell.h" #endif diff --git a/src/help.c b/src/help.c index 074d9eddd4f43d55d613550354fbb362c0938ed4..8c130d76938c998a117384504d360062acc01b4e 100644 --- a/src/help.c +++ b/src/help.c @@ -32,7 +32,7 @@ int page, start; -#define KEYS 16 +#define KEYS 17 char *keys[KEYS*2] = { /*|----key----| |----------------description----------------|*/ "up, k", "Move cursor up", diff --git a/src/shell.c b/src/shell.c index ae3cc22db435b7430d2f53c0c2eac6f68dd2030d..d601b5a1babaf8a9e0995924298485a8439d4555 100644 --- a/src/shell.c +++ b/src/shell.c @@ -34,7 +34,7 @@ #include <unistd.h> void shell_draw() { - char *full_path, *shell; + char *full_path; int res; /* suspend ncurses mode */ @@ -60,7 +60,7 @@ void shell_draw() { /* resume ncurses mode */ reset_prog_mode(); - if (res == -1 || WEXITSTATUS(res) != 0) { + if (res == -1 || !WIFEXITED(res) || WEXITSTATUS(res) == 127) { clear(); printw("ERROR: Can't execute shell interpreter: %s\n" "\n"