]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/chgat.c
ncurses 5.7 - patch 20090803
[ncurses.git] / test / chgat.c
index 06a27d738c85adf952a392bd90ca4e07d8696f3b..bd30535c1b54bda4f10c4c7d9429c895c52f1408 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2006,2007 Free Software Foundation, Inc.                   *
+ * Copyright (c) 2006-2008,2009 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.6 2007/01/06 23:28:46 tom Exp $
+ * $Id: chgat.c,v 1.9 2009/07/15 23:21:04 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)
@@ -47,7 +47,8 @@
 typedef struct {
     unsigned c;
     unsigned v;
-    int pair, attr;
+    int pair;
+    unsigned attr;
     int count;
     int ch;
     const char *c_msg;
@@ -94,11 +95,11 @@ color_params(unsigned state, int *pair)
 }
 
 static const char *
-video_params(unsigned state, int *attr)
+video_params(unsigned state, unsigned *attr)
 {
     /* *INDENT-OFF* */
     static struct {
-       int attr;
+       unsigned attr;
        const char *msg;
     } table[] = {
        { A_NORMAL,     "normal" },
@@ -123,10 +124,17 @@ static void
 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);
 }