projects
/
ncurses.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ncurses 6.1 - patch 20190824
[ncurses.git]
/
test
/
filter.c
diff --git
a/test/filter.c
b/test/filter.c
index 89096ba370ff3c0082b89af0d2ddd34474faaa48..e9c0ee99b73271490cc74318ee37a4a1ec3501bb 100644
(file)
--- a/
test/filter.c
+++ b/
test/filter.c
@@
-1,5
+1,5
@@
/****************************************************************************
/****************************************************************************
- * Copyright (c) 1998-201
4,2016
Free Software Foundation, Inc. *
+ * Copyright (c) 1998-201
7,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 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@
-29,7
+29,7
@@
/*
* Author: Thomas E. Dickey 1998
*
/*
* Author: Thomas E. Dickey 1998
*
- * $Id: filter.c,v 1.
26 2016/08/20 20:38:56
tom Exp $
+ * $Id: filter.c,v 1.
33 2019/08/24 23:11:01
tom Exp $
*
* An example of the 'filter()' function in ncurses, this program prompts
* for commands and executes them (like a command shell). It illustrates
*
* An example of the 'filter()' function in ncurses, this program prompts
* for commands and executes them (like a command shell). It illustrates
@@
-68,10
+68,10
@@
show_prompt(int underline, bool clocked)
int skip, y, x;
int margin;
int skip, y, x;
int margin;
-
sprintf(buffer,
"%02d:%02d:%02d",
- my->tm_hour,
- my->tm_min,
- my->tm_sec);
+
_nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
"%02d:%02d:%02d",
+
my->tm_hour,
+
my->tm_min,
+
my->tm_sec);
if (limit > 9) {
skip = 0;
if (limit > 9) {
skip = 0;
@@
-100,12
+100,11
@@
static int
new_command(char *buffer, int length, int underline, bool clocked, bool polled)
{
int code = OK;
new_command(char *buffer, int length, int underline, bool clocked, bool polled)
{
int code = OK;
- int limit;
if (polled) {
bool done = FALSE;
bool first = TRUE;
if (polled) {
bool done = FALSE;
bool first = TRUE;
- int y
, x
;
+ int y
= 0, x = 0
;
int n;
int mark = 0;
int used = 0;
int n;
int mark = 0;
int used = 0;
@@
-113,6
+112,7
@@
new_command(char *buffer, int length, int underline, bool clocked, bool polled)
timeout(20); /* no one types 50CPS... */
while (!done) {
timeout(20); /* no one types 50CPS... */
while (!done) {
+ int limit;
int ch = getch();
buffer[used] = '\0';
int ch = getch();
buffer[used] = '\0';
@@
-242,18
+242,18
@@
new_command(char *buffer, int length, int underline, bool clocked, bool polled)
*/
#ifdef KEY_EVENT
if (code == KEY_EVENT)
*/
#ifdef KEY_EVENT
if (code == KEY_EVENT)
-
strcpy(buffer, "# event!"
);
+
_nc_STRCPY(buffer, "# event!", length
);
#endif
#ifdef KEY_RESIZE
if (code == KEY_RESIZE) {
#endif
#ifdef KEY_RESIZE
if (code == KEY_RESIZE) {
-
strcpy(buffer, "# resize!"
);
+
_nc_STRCPY(buffer, "# resize!", length
);
getch();
}
#endif
}
attroff(underline);
attroff(A_BOLD);
getch();
}
#endif
}
attroff(underline);
attroff(A_BOLD);
-
printw("\n"
);
+
refresh(
);
return code;
}
return code;
}
@@
-308,6
+308,9
@@
usage(void)
," -a suppress xterm alternate-screen by amending smcup/rmcup"
#endif
," -c show current time on prompt line with \"Command\""
," -a suppress xterm alternate-screen by amending smcup/rmcup"
#endif
," -c show current time on prompt line with \"Command\""
+#if HAVE_USE_DEFAULT_COLORS
+ ," -d invoke use_default_colors"
+#endif
," -i use initscr() rather than newterm()"
," -p poll for individual characters rather than using getnstr"
};
," -i use initscr() rather than newterm()"
," -p poll for individual characters rather than using getnstr"
};
@@
-327,12
+330,15
@@
main(int argc, char *argv[])
bool a_option = FALSE;
#endif
bool c_option = FALSE;
bool a_option = FALSE;
#endif
bool c_option = FALSE;
+#if HAVE_USE_DEFAULT_COLORS
+ bool d_option = FALSE;
+#endif
bool i_option = FALSE;
bool p_option = FALSE;
setlocale(LC_ALL, "");
bool i_option = FALSE;
bool p_option = FALSE;
setlocale(LC_ALL, "");
- while ((ch = getopt(argc, argv, "acip")) != -1) {
+ while ((ch = getopt(argc, argv, "a
d
cip")) != -1) {
switch (ch) {
#ifdef NCURSES_VERSION
case 'a':
switch (ch) {
#ifdef NCURSES_VERSION
case 'a':
@@
-342,6
+348,11
@@
main(int argc, char *argv[])
case 'c':
c_option = TRUE;
break;
case 'c':
c_option = TRUE;
break;
+#if HAVE_USE_DEFAULT_COLORS
+ case 'd':
+ d_option = TRUE;
+ break;
+#endif
case 'i':
i_option = TRUE;
break;
case 'i':
i_option = TRUE;
break;
@@
-359,7
+370,10
@@
main(int argc, char *argv[])
if (i_option) {
initscr();
} else {
if (i_option) {
initscr();
} else {
- (void) newterm((char *) 0, stdout, stdin);
+ if (newterm((char *) 0, stdout, stdin) == 0) {
+ fprintf(stderr, "cannot initialize terminal\n");
+ ExitProgram(EXIT_FAILURE);
+ }
}
#ifdef NCURSES_VERSION
if (a_option) {
}
#ifdef NCURSES_VERSION
if (a_option) {
@@
-373,7
+387,7
@@
main(int argc, char *argv[])
int background = COLOR_BLACK;
start_color();
#if HAVE_USE_DEFAULT_COLORS
int background = COLOR_BLACK;
start_color();
#if HAVE_USE_DEFAULT_COLORS
- if (
use_default_colors() != ERR
)
+ if (
d_option && (use_default_colors() != ERR)
)
background = -1;
#endif
init_pair(1, COLOR_CYAN, (short) background);
background = -1;
#endif
init_pair(1, COLOR_CYAN, (short) background);