X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Ftest.priv.h;h=1f83dbede6cc9bfd538a41fd5af5a3413aeb4d58;hp=fb5f203fc0b18bdcd564c1243f133fadef4fdf5f;hb=a7d99bb6b29485693a21c0cc70d7925f2211769c;hpb=4ae6d1c18d0dec956b814865893812655ec3a22c diff --git a/test/test.priv.h b/test/test.priv.h index fb5f203f..1f83dbed 100644 --- a/test/test.priv.h +++ b/test/test.priv.h @@ -29,7 +29,7 @@ /**************************************************************************** * Author: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: test.priv.h,v 1.73 2008/02/10 00:12:55 tom Exp $ */ +/* $Id: test.priv.h,v 1.78 2008/09/06 22:01:24 tom Exp $ */ #ifndef __TEST_PRIV_H #define __TEST_PRIV_H 1 @@ -449,6 +449,7 @@ extern int optind; #endif #else #define typeMalloc(type,n) (type *) malloc((n) * sizeof(type)) +#define typeCalloc(type,elts) (type *) calloc((elts), sizeof(type)) #define typeRealloc(type,n,p) (type *) realloc(p, (n) * sizeof(type)) #endif @@ -528,24 +529,47 @@ extern char *tgoto(char *, int, int); /* available, but not prototyped */ #define CONST_MENUS /* nothing */ #endif +#ifndef HAVE_USE_WINDOW +#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS +#define HAVE_USE_WINDOW 0 +#else +#define HAVE_USE_WINDOW 1 +#endif +#endif + /* * Simplify setting up demo of threading with these macros. */ -#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS -typedef int (*NCURSES_CALLBACK)(WINDOW *, void *); -#define WANT_USE_WINDOW() \ -static int \ -use_window(WINDOW *win, int (*func) (WINDOW *, void *), void *data) \ -{ \ - return func(win, data); \ -} \ - extern void _nc_want_use_window(void) -#define USING_WINDOW(w,func) use_window(w, (NCURSES_CALLBACK) func, w) + +#if !HAVE_USE_WINDOW +typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *); +typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *); +#endif + +#if HAVE_USE_WINDOW +#define USING_WINDOW(w,func) use_window(w, (NCURSES_WINDOW_CB) func, w) +#define WANT_USE_WINDOW() extern void _nc_want_use_window(void) #else -#define WANT_USE_WINDOW() /* nothing */ \ - extern void _nc_want_use_window(void) #define USING_WINDOW(w,func) func(w) +#define WANT_USE_WINDOW() extern void _nc_want_use_window(void) +#endif + +#if HAVE_USE_WINDOW +#define USING_SCREEN(s,func,data) use_screen(s, (NCURSES_SCREEN_CB) func, data) +#define WANT_USE_SCREEN() extern void _nc_want_use_screen(void) +#else +#define USING_SCREEN(s,func,data) func(data) +#define WANT_USE_SCREEN() extern void _nc_want_use_screen(void) +#endif + +#ifdef TRACE +#define Trace(p) _tracef p +#define USE_TRACE 1 +#else +#define Trace(p) /* nothing */ +#define USE_TRACE 0 #endif +#define init_mb(state) memset(&state, 0, sizeof(state)) #endif /* __TEST_PRIV_H */