X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Fgdc.c;h=c2ef5b11522bf5c252b57e715dd91737f4a93959;hp=c70efba8c1cb4ca6bf445510e293c8b89247f82c;hb=efa78d11c3ea7f51c7078b64a34c98b44ecb0e1a;hpb=5d8dbcdd9423bf9821db414fd9ec792ccf1f1027 diff --git a/test/gdc.c b/test/gdc.c index c70efba8..c2ef5b11 100644 --- a/test/gdc.c +++ b/test/gdc.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * + * Copyright (c) 1998-2017,2019 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 * @@ -33,7 +33,7 @@ * modified 10-18-89 for curses (jrl) * 10-18-89 added signal handling * - * $Id: gdc.c,v 1.50 2017/09/09 20:23:09 tom Exp $ + * $Id: gdc.c,v 1.52 2019/08/24 23:11:01 tom Exp $ */ #include @@ -86,7 +86,6 @@ static void drawbox(bool scrolling) { chtype bottom[XLENGTH + 1]; - int n; if (hascolor) (void) attrset(AttrArg(COLOR_PAIR(PAIR_FRAMES), 0)); @@ -97,6 +96,7 @@ drawbox(bool scrolling) MvAddCh(YBASE + YDEPTH, XBASE - 1, ACS_LLCORNER); if ((mvinchnstr(YBASE + YDEPTH, XBASE, bottom, XLENGTH)) != ERR) { + int n; for (n = 0; n < XLENGTH; n++) { if (!scrolling) bottom[n] &= ~A_COLOR; @@ -227,8 +227,6 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); - CATCHALL(sighndl); - while ((k = getopt(argc, argv, "dnst:")) != -1) { switch (k) { #if HAVE_USE_DEFAULT_COLORS @@ -253,21 +251,24 @@ main(int argc, char *argv[]) if (optind < argc) { count = atoi(argv[optind++]); assert(count >= 0); + if (optind < argc) + usage(); } - if (optind < argc) - usage(); - if (redirected) { - char *name = getenv("TERM"); - if (name == 0 - || newterm(name, ofp, ifp) == 0) { - fprintf(stderr, "cannot open terminal\n"); - ExitProgram(EXIT_FAILURE); + InitAndCatch({ + if (redirected) { + char *name = getenv("TERM"); + if (name == 0 + || newterm(name, ofp, ifp) == 0) { + fprintf(stderr, "cannot open terminal\n"); + ExitProgram(EXIT_FAILURE); + } + } else { + initscr(); } - - } else { - initscr(); } + ,sighndl); + cbreak(); noecho(); nodelay(stdscr, 1);