]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/movewindow.c
ncurses 6.1 - patch 20181124
[ncurses.git] / test / movewindow.c
index d1e8dee8b7848f739c09ec733e4ae3f679b177ec..1e890fa70ab58783a7fdd38dc9b98831588b2c35 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2006-2013,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 2006-2017,2018 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            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: movewindow.c,v 1.42 2017/04/15 18:37:42 tom Exp $
+ * $Id: movewindow.c,v 1.48 2018/11/24 21:29:46 tom Exp $
  *
  * Demonstrate move functions for windows and derived windows from the curses
  * library.
@@ -45,14 +45,16 @@ TODO:
  */
 
 #include <test.priv.h>
-#include <stdarg.h>
+
+#if HAVE_MVDERWIN && HAVE_MVWIN
+
 #include <popup_msg.h>
 
 #ifdef HAVE_XCURSES
 #undef derwin
 #endif
 
-#ifdef NCURSES_VERSION
+#if defined(NCURSES_VERSION) || defined(PDCURSES)
 #define CONST_FMT const
 #else
 #define CONST_FMT              /* nothing */
@@ -103,6 +105,8 @@ message(int lineno, CONST_FMT char *fmt, va_list argp)
        vsprintf(buffer, fmt, argp);
        addstr(buffer);
     }
+#elif defined(HAVE_VW_PRINTW)
+    vw_printw(stdscr, fmt, argp);
 #else
     vwprintw(stdscr, fmt, argp);
 #endif
@@ -191,6 +195,7 @@ selectcell(WINDOW *parent,
            moved = TRUE;
            break;
        case QUIT:
+           /* FALLTHRU */
        case ESCAPE:
            return ((PAIR *) 0);
 #ifdef NCURSES_MOUSE_VERSION
@@ -212,8 +217,8 @@ selectcell(WINDOW *parent,
                    break;
                }
            }
-           /* FALLTHRU */
 #endif
+           /* FALLTHRU */
        default:
            res.y = uli + i;
            res.x = ulj + j;
@@ -766,3 +771,11 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
 #endif
     ExitProgram(EXIT_SUCCESS);
 }
+#else
+int
+main(void)
+{
+    printf("This program requires the curses mvderwin and mvwin functions\n");
+    ExitProgram(EXIT_FAILURE);
+}
+#endif