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