X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Ftest.priv.h;h=6f699af7a69873de257985276e63bd269d4056b8;hp=b9c5dc651b0905cab2d8c8b48cc3ae0b4af70723;hb=e6bb3226cdd35f5fd9f45bb1685cc2203c889480;hpb=8b6693ef8fb9e7bafb52d7c42fc3d15b7a1bea3f diff --git a/test/test.priv.h b/test/test.priv.h index b9c5dc65..6f699af7 100644 --- a/test/test.priv.h +++ b/test/test.priv.h @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * + * Copyright 2018-2020,2021 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 * @@ -29,7 +30,7 @@ /**************************************************************************** * Author: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: test.priv.h,v 1.182 2019/04/20 20:15:39 tom Exp $ */ +/* $Id: test.priv.h,v 1.198 2021/12/18 18:55:10 tom Exp $ */ #ifndef __TEST_PRIV_H #define __TEST_PRIV_H 1 @@ -242,6 +243,10 @@ #define HAVE_STDINT_H 0 #endif +#ifndef HAVE_STDNORETURN_H +#define HAVE_STDNORETURN_H 0 +#endif + #ifndef HAVE_STRSTR #define HAVE_STRSTR 0 #endif @@ -390,6 +395,16 @@ #include #endif +#if HAVE_STDNORETURN_H && !defined(NCURSES_VERSION) +#include +#undef GCC_NORETURN +#define GCC_NORETURN _Noreturn +#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 */ @@ -436,6 +451,13 @@ extern int optind; #include #include +#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 @@ -726,10 +748,10 @@ extern "C" { #endif #if USE_STRING_HACKS && HAVE_SNPRINTF -#define _nc_SPRINTF NCURSES_VOID snprintf +#define _nc_SPRINTF NCURSES_VOID (snprintf) #define _nc_SLIMIT(n) NCURSES_CAST(size_t,n), #else -#define _nc_SPRINTF NCURSES_VOID sprintf +#define _nc_SPRINTF NCURSES_VOID (sprintf) #define _nc_SLIMIT(n) /* nothing */ #endif @@ -885,9 +907,9 @@ extern int TABSIZE; * ncurses restores the cursor in endwin(). Other libraries may not. */ #ifdef NCURSES_VERSION -#define exit_curses() endwin() +#define stop_curses() endwin() #else -#define exit_curses() do { endwin(); curs_set(1); } while (0) +#define stop_curses() do { endwin(); curs_set(1); } while (0) #endif /* ncurses implements tparm() with varargs, X/Open with a fixed-parameter list @@ -902,11 +924,14 @@ extern int TABSIZE; #if defined(NCURSES_VERSION) && HAVE_NC_ALLOC_H #include -#if HAVE_NC_FREEALL && defined(USE_TINFO) +#if HAVE_EXIT_TERMINFO && (defined(USE_TERMINFO) || defined(USE_TINFO)) #undef ExitProgram -#define ExitProgram(code) _nc_free_tinfo(code) +#define ExitProgram(code) exit_terminfo(code) +#elif HAVE_EXIT_CURSES +#undef ExitProgram +#define ExitProgram(code) exit_curses(code) #endif -#else +#else /* not ncurses-tree */ #define typeMalloc(type,n) (type *) malloc((size_t)(n) * sizeof(type)) #define typeCalloc(type,elts) (type *) calloc((size_t)(elts), sizeof(type)) #define typeRealloc(type,n,p) (type *) realloc(p, (size_t)(n) * sizeof(type)) @@ -923,7 +948,12 @@ extern int TABSIZE; #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 @@ -941,7 +971,19 @@ extern int TABSIZE; #define SIGKILL 9 #define getlogin() "username" -#elif defined(HAVE_NCURSESW_NCURSES_H) +#elif defined(EXP_WIN32_DRIVER) + +#if defined(HAVE_NCURSESW_NCURSES_H) +#include +#elif defined(HAVE_NCURSES_NCURSES_H) +#include +#else +#include +#endif + +#else + +#if defined(HAVE_NCURSESW_NCURSES_H) #include #elif defined(HAVE_NCURSES_NCURSES_H) #include @@ -949,6 +991,8 @@ extern int TABSIZE; #include #endif +#endif + /* conflicts in test/firstlast.c */ #undef large #undef small @@ -976,9 +1020,9 @@ extern int TABSIZE; #endif #if !HAVE_STRSTR -extern char * _nc_strstr (const char *, const char *); +extern char *_nc_strstr(const char *, const char *); #define strstr(a,b) _nc_strstr((a),(b)) -#endif /* !HAVE_STRSTR */ +#endif /* !HAVE_STRSTR */ /* Use this to quiet gcc's -Wwrite-strings warnings, but accommodate SVr4 * curses which doesn't have const parameters declared (so far) in the places @@ -1021,6 +1065,12 @@ extern char * _nc_strstr (const char *, const char *); #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 @@ -1098,6 +1148,14 @@ extern char *tgoto(char *, int, int); /* available, but not prototyped */ #define CONST_MENUS /* nothing */ #endif +#if defined(NCURSES_CONST) +#define CONST_FMT NCURSES_CONST +#elif defined(PDCURSES) +#define CONST_FMT const +#else +#define CONST_FMT /* nothing */ +#endif + /* * Simplify setting up demo of threading with these macros. */ @@ -1129,7 +1187,7 @@ extern char *tgoto(char *, int, int); /* available, but not prototyped */ if ((_nc_tracing & TRACE_MAXIMUM) == 0) { \ int t = _nc_getenv_num("NCURSES_TRACE"); \ if (t >= 0) \ - trace((unsigned) t); \ + curses_trace((unsigned) t); \ } extern unsigned _nc_tracing; extern int _nc_getenv_num(const char *);