diff options
Diffstat (limited to 'console-tools/reset.c')
-rw-r--r-- | console-tools/reset.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/console-tools/reset.c b/console-tools/reset.c index a3f01aa..3f9ae98 100644 --- a/console-tools/reset.c +++ b/console-tools/reset.c @@ -25,11 +25,21 @@ #include <stdio.h> #include <stdlib.h> +#include <unistd.h> #include "busybox.h" extern int reset_main(int argc, char **argv) { - printf("\033[?25h\033c\033[J"); + if (isatty(0) || isatty(0) || isatty(0)) { + /* See 'man 4 console_codes' for details: + * "ESC c" -- Reset + * "ESC ( K" -- Select user mapping + * "ESC [ J" -- Erase display + * "ESC [ 0 m" -- Reset all Graphics Rendition display attributes + * "ESC [ ? 25 h" -- Make cursor visible. + */ + printf("\033c\033(K\033[J\033[0m\033[?25h"); + } return EXIT_SUCCESS; } |