/****************************************************************************
- * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
+ * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 1998-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 *
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: test.priv.h,v 1.184 2019/12/14 23:25:29 tom Exp $ */
+/* $Id: test.priv.h,v 1.191 2020/09/12 23:54:42 tom Exp $ */
#ifndef __TEST_PRIV_H
#define __TEST_PRIV_H 1
#include <curses.h>
#endif
+#if !(defined(NCURSES_WGETCH_EVENTS) && defined(NEED_KEY_EVENT))
+#undef KEY_EVENT /* reduce compiler-warnings with Visual C++ */
+#endif
+
#if defined(HAVE_XCURSES) || defined(PDCURSES)
/* no other headers */
#undef HAVE_SETUPTERM /* nonfunctional */
#include <assert.h>
#include <ctype.h>
+#if defined(_MSC_VER)
+#undef popen
+#define popen(s,n) _popen(s,n)
+#undef pclose
+#define pclose(s) _pclose(s)
+#endif
+
#ifndef GCC_NORETURN
#define GCC_NORETURN /* nothing */
#endif
#if defined(NCURSES_VERSION) && HAVE_NC_ALLOC_H
#include <nc_alloc.h>
-#if HAVE_NC_FREEALL && defined(USE_TINFO)
+#if HAVE_EXIT_TERMINFO && defined(USE_TINFO)
#undef ExitProgram
#define ExitProgram(code) exit_terminfo(code)
#endif
#define EXIT_FAILURE 1
#endif
-#if defined(_WIN32) || defined(USE_WIN32CON_DRIVER)
+#undef _NC_WINDOWS
+#if (defined(_WIN32) || defined(_WIN64))
+#define _NC_WINDOWS 1
+#endif
+
+#if defined(_NC_WINDOWS) || defined(USE_WIN32CON_DRIVER)
#if defined(PDCURSES)
#ifdef WINVER
#define SIGKILL 9
#define getlogin() "username"
-#elif defined(HAVE_NCURSESW_NCURSES_H)
+#elif defined(EXP_WIN32_DRIVER)
+
+#if defined(HAVE_NCURSESW_NCURSES_H)
+#include <ncursesw/nc_win32.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/nc_win32.h>
+#else
+#include <nc_win32.h>
+#endif
+
+#else
+
+#if defined(HAVE_NCURSESW_NCURSES_H)
#include <ncursesw/nc_mingw.h>
#elif defined(HAVE_NCURSES_NCURSES_H)
#include <ncurses/nc_mingw.h>
#include <nc_mingw.h>
#endif
+#endif
+
/* conflicts in test/firstlast.c */
#undef large
#undef small
#define InitAndCatch(init,handler) do { init; CATCHALL(handler); } while (0)
#endif
+#if defined(_NC_WINDOWS) || defined(USE_WIN32CON_DRIVER)
+#define SetupAlarm(opt) (void)opt
+#else
+#define SetupAlarm(opt) if (opt) alarm((unsigned)opt)
+#endif
+
/*
* Workaround for clean(er) compile with Solaris's legacy curses.
* The same would be needed for HPUX 10.20