X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Fclear.c;h=559d296c3f4c01816c16535a026500416b35e850;hp=da30bcc4a3c6b1d64908dd3a99090808f99c3800;hb=c25392d9c21dd75537d50fc1705e938b0e813865;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8 diff --git a/progs/clear.c b/progs/clear.c index da30bcc4..559d296c 100644 --- a/progs/clear.c +++ b/progs/clear.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -29,28 +29,36 @@ /**************************************************************************** * Author: Zeyd M. Ben-Halim 1992,1995 * * and: Eric S. Raymond * + * and: Thomas E. Dickey 1996-on * ****************************************************************************/ - /* * clear.c -- clears the terminal's screen */ -#include +#define USE_LIBTINFO +#include +#include -MODULE_ID("$Id: clear.c,v 1.9 2005/09/25 00:46:43 tom Exp $") +MODULE_ID("$Id: clear.c,v 1.17 2016/12/24 19:33:39 tom Exp $") -static int putch(int c) -{ - return putchar(c); -} +const char *_nc_progname = "clear"; -int main( +int +main( int argc GCC_UNUSED, - char *argv[] GCC_UNUSED) + char *argv[]GCC_UNUSED) { - setupterm((char *) 0, STDOUT_FILENO, (int *) 0); - return (tputs(clear_screen, lines > 0 ? lines : 1, putch) == ERR) + TTY tty_settings; + int fd; + + _nc_progname = _nc_rootname(argv[0]); + + fd = save_tty_settings(&tty_settings); + + setupterm((char *) 0, fd, (int *) 0); + + ExitProgram((clear_cmd() == ERR) ? EXIT_FAILURE - : EXIT_SUCCESS; + : EXIT_SUCCESS); }