X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=test%2Flrtest.c;h=0e609d012c968f1aad85634a01bd26a043a4ac8b;hb=2bcad5fdfc4aa83a1479bd1d21dadc32dad8c2a8;hp=e40b0c1f1c9fcabe05916a811c3c14d43a096476;hpb=027ae42953e3186daed8f3882da73de48291b606;p=ncurses.git diff --git a/test/lrtest.c b/test/lrtest.c index e40b0c1f..0e609d01 100644 --- a/test/lrtest.c +++ b/test/lrtest.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright 2019-2020,2022 Thomas E. Dickey * + * Copyright 1998-2010,2017 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 * @@ -34,7 +35,7 @@ * This can't be part of the ncurses test-program, because ncurses rips off the * bottom line to do labels. * - * $Id: lrtest.c,v 1.21 2005/12/31 16:51:53 tom Exp $ + * $Id: lrtest.c,v 1.29 2022/12/10 23:44:18 tom Exp $ */ #include @@ -51,7 +52,7 @@ typedef struct { static void show(MARK *m) { - mvaddch(m->y, m->x, m->value); + MvAddCh(m->y, m->x, m->value); if (m->mode == 0) { /* along the x-direction */ m->x += m->inc; if (m->x >= COLS) { @@ -81,10 +82,28 @@ show(MARK *m) } } +static void +usage(int ok) +{ + static const char *msg[] = + { + "Usage: lrtest [options]" + ,"" + ,USAGE_COMMON + }; + size_t n; + + for (n = 0; n < SIZEOF(msg); n++) + fprintf(stderr, "%s\n", msg[n]); + + ExitProgram(ok ? EXIT_SUCCESS : EXIT_FAILURE); +} +/* *INDENT-OFF* */ +VERSION_COMMON() +/* *INDENT-ON* */ + int -main( - int argc GCC_UNUSED, - char *argv[]GCC_UNUSED) +main(int argc, char *argv[]) { static MARK marks[] = { @@ -96,6 +115,20 @@ main( {1, 0, 1, 1, 1, '*' | A_REVERSE}, {2, 0, 1, 1, 1, '*' | A_REVERSE} }; + int ch; + + while ((ch = getopt(argc, argv, OPTS_COMMON)) != -1) { + switch (ch) { + case OPTS_VERSION: + show_version(argv); + ExitProgram(EXIT_SUCCESS); + default: + usage(ch == OPTS_USAGE); + /* NOTREACHED */ + } + } + if (optind < argc) + usage(FALSE); setlocale(LC_ALL, ""); @@ -131,7 +164,7 @@ main( } for (;;) { - int ch; + int c2; unsigned n; box(stdscr, 0, 0); @@ -139,21 +172,21 @@ main( show(&marks[n]); } - if ((ch = getch()) > 0) { - if (ch == 'q') + if ((c2 = getch()) > 0) { + if (c2 == 'q') break; - else if (ch == 's') + else if (c2 == 's') nodelay(stdscr, FALSE); - else if (ch == ' ') + else if (c2 == ' ') nodelay(stdscr, TRUE); #ifdef TRACE - else if (ch == 'T') - trace(0); - else if (ch == 't') - trace(TRACE_CALLS | TRACE_ICALLS | TRACE_UPDATE); + else if (c2 == 'T') + curses_trace(0); + else if (c2 == 't') + curses_trace(TRACE_CALLS | TRACE_ICALLS | TRACE_UPDATE); #endif #ifdef KEY_RESIZE - else if (ch == KEY_RESIZE) { + else if (c2 == KEY_RESIZE) { for (n = 0; n < SIZEOF(marks); n++) { if (marks[n].mode == 0) { /* moving along x-direction */ if (marks[n].y) @@ -174,8 +207,7 @@ main( refresh(); } - curs_set(1); - endwin(); + stop_curses(); ExitProgram(EXIT_SUCCESS); }