X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Ftest.priv.h;h=f0b660f434ce78c4cda936d3c5b1f7107eeb3671;hp=f1ac8774248f2d74ddeabd951b9bc908669274bf;hb=f3ec084eb66ba14feb6357b674fb85dd474933d8;hpb=bfe3845eb1a2ff02a740e917b537e939ec4e44cb diff --git a/test/test.priv.h b/test/test.priv.h index f1ac8774..f0b660f4 100644 --- a/test/test.priv.h +++ b/test/test.priv.h @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2017,2018 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 * @@ -29,7 +30,7 @@ /**************************************************************************** * Author: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: test.priv.h,v 1.171 2018/12/29 21:44:07 tom Exp $ */ +/* $Id: test.priv.h,v 1.185 2020/02/02 23:34:34 tom Exp $ */ #ifndef __TEST_PRIV_H #define __TEST_PRIV_H 1 @@ -242,6 +243,10 @@ #define HAVE_STDINT_H 0 #endif +#ifndef HAVE_STRSTR +#define HAVE_STRSTR 0 +#endif + #ifndef HAVE_SYS_IOCTL_H #define HAVE_SYS_IOCTL_H 0 #endif @@ -250,10 +255,6 @@ #define HAVE_SYS_SELECT_H 0 #endif -#ifndef HAVE_TDESTROY -#define HAVE_TDESTROY 0 -#endif - #ifndef HAVE_TERMATTRS #define HAVE_TERMATTRS 0 #endif @@ -453,6 +454,12 @@ extern int optind; #define getnstr(s,n) getstr(s) #endif +#if HAVE_INIT_EXTENDED_COLOR +#define USE_EXTENDED_COLOR 1 +#else +#define USE_EXTENDED_COLOR 0 +#endif + #ifndef USE_SOFTKEYS #if HAVE_SLK_INIT #define USE_SOFTKEYS 1 @@ -467,6 +474,18 @@ extern int optind; #define slk_clear() /* nothing */ #endif +#ifndef HAVE_CURSES_DATA_TABSIZE +#define HAVE_CURSES_DATA_TABSIZE 0 +#endif + +#if !NCURSES_EXT_FUNCS +#if HAVE_CURSES_DATA_TABSIZE +#define set_tabsize(n) TABSIZE = (n) +#else +#define set_tabsize(n) /* nothing */ +#endif +#endif + #if HAVE_TPUTS_SP #define USE_SP_FUNCS 1 #else @@ -508,9 +527,9 @@ extern int optind; /* workaround, to build against NetBSD's variant of the form library */ #ifdef HAVE_NETBSD_FORM_H -#define form_getyx(form, y, x) y = current_field(form)->cursor_ypos, x = current_field(form)->cursor_xpos +#define form_getyx(form, y, x) y = (int)current_field(form)->cursor_ypos, x = (int)current_field(form)->cursor_xpos #else -#define form_getyx(form, y, x) y = (form)->currow, x = (form)->curcol +#define form_getyx(form, y, x) y = (int)(form)->currow, x = (int)(form)->curcol #endif /* workaround, to build against NetBSD's variant of the form library */ @@ -682,6 +701,15 @@ extern int optind; #define USE_STRING_HACKS 0 #endif +#ifndef NCURSES_CAST +#ifdef __cplusplus +extern "C" { +#define NCURSES_CAST(type,value) static_cast(value) +#else +#define NCURSES_CAST(type,value) (type)(value) +#endif +#endif + #if USE_STRING_HACKS && HAVE_STRLCAT #define _nc_STRCAT(d,s,n) NCURSES_VOID strlcat((d),(s),NCURSES_CAST(size_t,n)) #define _nc_STRNCAT(d,s,m,n) NCURSES_VOID strlcat((d),(s),NCURSES_CAST(size_t,m)) @@ -706,12 +734,37 @@ extern int optind; #define _nc_SLIMIT(n) /* nothing */ #endif +/* + * X/Open Curses does not define the arrays of terminfo/termcap names as SVr4 + * curses did, and some implementations provide them anyway, but undeclared. + */ #ifdef DECL_CURSES_DATA_BOOLNAMES extern char *boolnames[], *boolcodes[], *boolfnames[]; extern char *numnames[], *numcodes[], *numfnames[]; extern char *strnames[], *strcodes[], *strfnames[]; #endif +/* + * Again, an SVr4 curses feature latent in the libraries but not in headers. + */ +#ifndef DECL_CURSES_DATA_TABSIZE +#define DECL_CURSES_DATA_TABSIZE 0 +#endif + +#if DECL_CURSES_DATA_TABSIZE +extern int TABSIZE; +#undef HAVE_CURSES_DATA_TABSIZE +#define HAVE_CURSES_DATA_TABSIZE 1 +#endif + +#ifndef HAVE_CURSES_DATA_TABSIZE +#define HAVE_CURSES_DATA_TABSIZE 0 +#endif + +/* + * X/Open Curses provides termname(), whose return value is analogous to the + * SVr4 curses variable ttytype[]. + */ #ifndef HAVE_CURSES_DATA_TTYTYPE #define HAVE_CURSES_DATA_TTYTYPE 0 #endif @@ -833,9 +886,9 @@ extern char *strnames[], *strcodes[], *strfnames[]; * 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 @@ -852,7 +905,7 @@ extern char *strnames[], *strcodes[], *strfnames[]; #include #if HAVE_NC_FREEALL && defined(USE_TINFO) #undef ExitProgram -#define ExitProgram(code) _nc_free_tinfo(code) +#define ExitProgram(code) exit_terminfo(code) #endif #else #define typeMalloc(type,n) (type *) malloc((size_t)(n) * sizeof(type)) @@ -916,6 +969,18 @@ extern char *strnames[], *strcodes[], *strfnames[]; #endif #endif +/* + * Ultrix 3.1 + */ +#ifndef STDOUT_FILENO +#define STDOUT_FILENO 1 +#endif + +#if !HAVE_STRSTR +extern char *_nc_strstr(const char *, const char *); +#define strstr(a,b) _nc_strstr((a),(b)) +#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 * that XSI shows. @@ -1009,10 +1074,26 @@ extern char *tgoto(char *, int, int); /* available, but not prototyped */ #endif #endif +/* + * ncurses provides a termcap interface; a few packagers replace or displace + * its header file with an incompatible one. The demo_termcap program uses + * the ncurses file, if available. + */ +#ifdef NCURSES_VERSION +#ifndef HAVE_NCURSES_TERMCAP_H +#define HAVE_NCURSES_TERMCAP_H 0 +#endif +#ifndef HAVE_TERMCAP_H +#define HAVE_TERMCAP_H 0 +#endif +#endif + /* * ncurses uses const in some places where X/Open does (or did) not allow. */ -#if defined(NCURSES_VERSION) || defined(PDCURSES) +#if defined(NCURSES_CONST) +#define CONST_MENUS NCURSES_CONST +#elif defined(PDCURSES) #define CONST_MENUS const #else #define CONST_MENUS /* nothing */ @@ -1049,7 +1130,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 *);