/****************************************************************************
- * Copyright (c) 2006-2012,2017 Free Software Foundation, Inc. *
+ * Copyright 2020-2021,2022 Thomas E. Dickey *
+ * Copyright 2006-2012,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 *
* authorization. *
****************************************************************************/
/*
- * $Id: redraw.c,v 1.10 2017/06/24 14:04:57 tom Exp $
+ * $Id: redraw.c,v 1.17 2022/12/10 22:28:50 tom Exp $
*
* Demonstrate the redrawwin() and wredrawln() functions.
* Thomas Dickey - 2006/11/4
WINDOW *win1;
WINDOW *win2;
bool done = FALSE;
- int ch, y, x;
int max_y, max_x;
int beg_y, beg_x;
keypad(win, TRUE);
getmaxyx(win, max_y, max_x);
getbegyx(win, beg_y, beg_x);
+
while (!done) {
- ch = wgetch(win);
+ int ch = wgetch(win);
+ int y, x;
+
getyx(win, y, x);
switch (ch) {
case 'q':
/*
* For a shell command, we can work around the problem noted above
* using mvcur(). It is ifdef'd for NCURSES, since X/Open does
- * not define the case where the old location is unknown.
+ * not define the case where the old location is unknown.
*/
IGNORE_RC(system("date"));
mvcur(-1, -1, y, x);
}
static void
-usage(void)
+usage(int ok)
{
static const char *tbl[] =
{
"Usage: redraw [options]"
,""
+ ,USAGE_COMMON
,"Options:"
- ," -e use stderr (default stdout)"
- ," -n do not initialize terminal"
+ ," -e use stderr (default stdout)"
+ ," -n do not initialize terminal"
};
unsigned n;
for (n = 0; n < SIZEOF(tbl); ++n)
fprintf(stderr, "%s\n", tbl[n]);
- ExitProgram(EXIT_FAILURE);
+ 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[])
{
int ch;
bool no_init = FALSE;
FILE *my_fp = stdout;
- while ((ch = getopt(argc, argv, "en")) != -1) {
+ while ((ch = getopt(argc, argv, OPTS_COMMON "en")) != -1) {
switch (ch) {
case 'e':
my_fp = stderr;
case 'n':
no_init = TRUE;
break;
+ case OPTS_VERSION:
+ show_version(argv);
+ ExitProgram(EXIT_SUCCESS);
default:
- usage();
- break;
+ usage(ch == OPTS_USAGE);
+ /* NOTREACHED */
}
}
if (optind < argc)
- usage();
+ usage(FALSE);
if (no_init) {
START_TRACE();