* newdemo.c - A demo program using PDCurses. The program illustrate
* the use of colours for text output.
*
- * $Id: newdemo.c,v 1.40 2013/04/27 19:46:53 tom Exp $
+ * $Id: newdemo.c,v 1.45 2017/09/30 15:43:08 tom Exp $
*/
#include <test.priv.h>
static void
trap(int sig GCC_UNUSED)
{
- endwin();
+ exit_curses();
ExitProgram(EXIT_FAILURE);
}
if (pair > COLOR_PAIRS)
pair = COLOR_PAIRS;
init_pair((short) pair, (short) foreground, (short) background);
- (void) wattrset(win, (int) COLOR_PAIR(pair));
+ (void) wattrset(win, AttrArg(COLOR_PAIR(pair), 0));
}
}
pair = COLOR_PAIRS;
attrs |= (chtype) COLOR_PAIR(pair);
}
- (void) wattrset(win, (int) attrs);
+ (void) wattrset(win, AttrArg(attrs, 0));
return attrs;
}
setlocale(LC_ALL, "");
- CATCHALL(trap);
-
- initscr();
+ InitAndCatch(initscr(), trap);
if (has_colors())
start_color();
cbreak();
height = 14; /* Create a drawing window */
win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
if (win == NULL) {
- endwin();
+ exit_curses();
ExitProgram(EXIT_FAILURE);
}
message = messages[j = 0];
i = 1;
w = width - 2;
- strcpy(buffer, message);
+ _nc_STRCPY(buffer, message, sizeof(buffer));
while (j < NMESSAGES) {
while ((int) strlen(buffer) < w) {
- strcat(buffer, " ... ");
- strcat(buffer, messages[++j % NMESSAGES]);
+ _nc_STRCAT(buffer, " ... ", sizeof(buffer));
+ _nc_STRCAT(buffer, messages[++j % NMESSAGES], sizeof(buffer));
}
if (i < w)
if (WaitForUser(win) == 1)
break;
}
- endwin();
+ exit_curses();
ExitProgram(EXIT_SUCCESS);
}