1 /* vi: set sw=4 ts=4: */
2 /*
3 * Mini clear implementation for busybox
4 *
5 * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
6 *
7 * Licensed under GPLv2 or later, see file LICENSE in this source tree.
8 */
9 //config:config CLEAR
10 //config: bool "clear (tiny)"
11 //config: default y
12 //config: help
13 //config: This program clears the terminal screen.
14
15 //applet:IF_CLEAR(APPLET_NOFORK(clear, clear, BB_DIR_USR_BIN, BB_SUID_DROP, clear))
16
17 //kbuild:lib-$(CONFIG_CLEAR) += clear.o
18
19 //usage:#define clear_trivial_usage
20 //usage: ""
21 //usage:#define clear_full_usage "\n\n"
22 //usage: "Clear screen"
23
24 #include "libbb.h"
25
26 #define ESC "\033"
27
28 int clear_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
clear_main(int argc UNUSED_PARAM,char ** argv UNUSED_PARAM)29 int clear_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
30 {
31 /* home; clear to the end of screen */
32 return full_write1_str(ESC"[H" ESC"[J") != 6;
33 }
34