X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=test%2Fdemo_tabs.c;h=6bd067eac86b0e4755655007698e4e109e564ed6;hb=HEAD;hp=51850e4cb992febd70e98166d954c1971490e539;hpb=344194b55bff15ccedd626246a547de476b4d83c;p=ncurses.git diff --git a/test/demo_tabs.c b/test/demo_tabs.c index 51850e4c..16c1ad57 100644 --- a/test/demo_tabs.c +++ b/test/demo_tabs.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2019 Free Software Foundation, Inc. * + * Copyright 2019-2020,2022 Thomas E. Dickey * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -29,52 +29,60 @@ /* * Author: Thomas E. Dickey * - * $Id: demo_tabs.c,v 1.4 2019/02/24 00:38:13 tom Exp $ + * $Id: demo_tabs.c,v 1.10 2022/12/04 00:40:11 tom Exp $ * * A simple demo of tabs in curses. */ +#define USE_CURSES #define USE_TINFO -#include "test.priv.h" +#include static void -usage(void) +usage(int ok) { static const char *msg[] = { - "Usage: demo_tabs [options]", - "", - "Print a grid to test tab-stops with the curses interface", - "", - "Options:", - " -l COUNT total number of lines to show", - " -t NUM set TABSIZE variable to the given value", + "Usage: demo_tabs [options]" + ,"" + ,"Print a grid to test tab-stops with the curses interface" + ,"" + ,USAGE_COMMON + ,"Options:" + ," -l COUNT total number of lines to show" + ," -t NUM set TABSIZE variable to the given value" }; unsigned n; for (n = 0; n < SIZEOF(msg); ++n) { fprintf(stderr, "%s\n", msg[n]); } - ExitProgram(EXIT_FAILURE); + ExitProgram(ok ? EXIT_SUCCESS : EXIT_FAILURE); } +/* *INDENT-OFF* */ +VERSION_COMMON() +/* *INDENT-ON* */ int main(int argc, char *argv[]) { int tabstop; - int n, col, row, step; + int ch, col, row, step; int line_limit = -1; int curses_stops = -1; - while ((n = getopt(argc, argv, "l:t:")) != -1) { - switch (n) { + while ((ch = getopt(argc, argv, OPTS_COMMON "l:t:")) != -1) { + switch (ch) { case 'l': line_limit = atoi(optarg); break; case 't': curses_stops = atoi(optarg); break; + case OPTS_VERSION: + show_version(argv); + ExitProgram(EXIT_SUCCESS); default: - usage(); - break; + usage(ch == OPTS_USAGE); + /* NOTREACHED */ } } @@ -92,10 +100,10 @@ main(int argc, char *argv[]) move(row, 0); for (col = step = 0; col < COLS - 1; ++col) { if (row == 0) { - chtype ch = '-'; + chtype ct = '-'; if ((col % tabstop) == 0) - ch = '+'; - addch(ch); + ct = '+'; + addch(ct); } else if (col + 1 < row) { addch('*'); } else {