/****************************************************************************
- * Copyright (c) 2006 Free Software Foundation, Inc. *
+ * Copyright (c) 2006-2010,2012 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: chgat.c,v 1.5 2006/07/15 22:48:27 tom Exp $
+ * $Id: chgat.c,v 1.12 2012/11/18 01:55:35 tom Exp $
*
* test-driver for chgat/wchgat/mvchgat/mvwchgat
*/
#include <test.priv.h>
-#ifdef HAVE_CHGAT
+#if HAVE_CHGAT
#define SHOW(n) ((n) == ERR ? "ERR" : "OK")
#define COLOR_DEFAULT (-1)
typedef struct {
unsigned c;
unsigned v;
- int pair, attr;
+ short pair;
+ unsigned attr;
int count;
int ch;
- char *c_msg;
- char *v_msg;
+ const char *c_msg;
+ const char *v_msg;
int y_val;
int x_val;
int y_beg, x_beg;
int y_max, x_max;
} STATUS;
-static char *
-color_params(unsigned state, int *pair)
+static const char *
+color_params(unsigned state, short *pair)
{
/* *INDENT-OFF* */
static struct {
- int pair;
- int fg, bg;
- char *msg;
+ short pair;
+ short fg, bg;
+ const char *msg;
} table[] = {
{ 0, COLOR_DEFAULT, COLOR_DEFAULT, "default" },
{ 1, COLOR_RED, COLOR_BLACK, "red/black" },
/* *INDENT-ON* */
static bool first = TRUE;
- char *result = 0;
+ const char *result = 0;
if (has_colors()) {
if (first) {
return result;
}
-static char *
-video_params(unsigned state, int *attr)
+static const char *
+video_params(unsigned state, unsigned *attr)
{
/* *INDENT-OFF* */
static struct {
- int attr;
- char *msg;
+ unsigned attr;
+ const char *msg;
} table[] = {
{ A_NORMAL, "normal" },
{ A_BOLD, "bold" },
};
/* *INDENT-ON* */
- char *result = 0;
+ const char *result = 0;
if (state < SIZEOF(table)) {
*attr = table[state].attr;
fill_window(WINDOW *win)
{
int y, x;
+ int y0 = -1, x0 = -1;
getyx(win, y, x);
wmove(win, 0, 0);
while (waddstr(win, "0123456789 abcdefghijklmnopqrstuvwxyz ") != ERR) {
+ int y1, x1;
+ getyx(win, y1, x1);
+ if (y1 == y0 && x1 == x0)
+ break;
+ x0 = x1;
+ y0 = y1;
}
wmove(win, y, x);
}
delwin(win1);
touchwin(win);
} else {
+ if (win1 != 0)
+ delwin(win1);
beep();
}
}
getmaxyx(win, y_max, x_max);
for (row = 0; row < (int) SIZEOF(table) && row < y_max; ++row) {
- mvwprintw(win, row, 0, "%.*s", x_max, table[row]);
+ MvWPrintw(win, row, 0, "%.*s", x_max, table[row]);
}
while (wgetch(win) != 'q')
beep();