X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Fclear.c;h=559d296c3f4c01816c16535a026500416b35e850;hp=4ac503ed3641570468eac4a4e00bab24ecc74400;hb=62ca6190a9a8ddccb2c4d5ca7b2ef9f88432da65;hpb=d3aaa2f7ce1fec732af0f6c0396719cbc846ac18 diff --git a/progs/clear.c b/progs/clear.c index 4ac503ed..559d296c 100644 --- a/progs/clear.c +++ b/progs/clear.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2007,2013 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 * @@ -37,31 +37,28 @@ */ #define USE_LIBTINFO -#include +#include +#include -MODULE_ID("$Id: clear.c,v 1.13 2013/06/22 22:20:54 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 argc GCC_UNUSED, char *argv[]GCC_UNUSED) { - char *E3; + TTY tty_settings; + int fd; + + _nc_progname = _nc_rootname(argv[0]); - setupterm((char *) 0, STDOUT_FILENO, (int *) 0); + fd = save_tty_settings(&tty_settings); - /* Clear the scrollback buffer if possible. */ - E3 = tigetstr("E3"); - if (E3) - (void) tputs(E3, lines > 0 ? lines : 1, putch); + setupterm((char *) 0, fd, (int *) 0); - ExitProgram((tputs(clear_screen, lines > 0 ? lines : 1, putch) == ERR) + ExitProgram((clear_cmd() == ERR) ? EXIT_FAILURE : EXIT_SUCCESS); }