X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Frain.c;h=4c3568cffcda89ff89999d04d681c677d2e3dd9f;hp=c51c7b0a9cde01f71337daadb3e4fa766082591d;hb=3d46d7e9d3e210417f34acf3b469378558398d07;hpb=5d8dbcdd9423bf9821db414fd9ec792ccf1f1027 diff --git a/test/rain.c b/test/rain.c index c51c7b0a..4c3568cf 100644 --- a/test/rain.c +++ b/test/rain.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc. * + * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 1998-2014,2017 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 +27,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: rain.c,v 1.46 2017/09/09 00:37:51 tom Exp $ + * $Id: rain.c,v 1.52 2020/08/29 16:22:03 juergen Exp $ */ #include #include @@ -67,10 +68,18 @@ typedef struct { static STATS drop_threads[MAX_THREADS]; #endif +#if HAVE_USE_WINDOW +static int +safe_wgetch(WINDOW *w, void *data GCC_UNUSED) +{ + return wgetch(w); +} +#endif + static void onsig(int n GCC_UNUSED) { - exit_curses(); + stop_curses(); ExitProgram(EXIT_FAILURE); } @@ -219,7 +228,7 @@ draw_drop(void *arg) * Find myself in the list of threads so we can count the number of loops. */ for (mystats = 0; mystats < MAX_THREADS; ++mystats) { -#if defined(__MINGW32__) && !defined(__WINPTHREADS_VERSION) +#if defined(_NC_WINDOWS) && !defined(__WINPTHREADS_VERSION) if (drop_threads[mystats].myself.p == pthread_self().p) #else if (drop_threads[mystats].myself == pthread_self()) @@ -285,7 +294,7 @@ start_drop(DATA * data) static int get_input(void) { - return USING_WINDOW(stdscr, wgetch); + return USING_WINDOW1(stdscr, wgetch, safe_wgetch); } static void @@ -349,9 +358,7 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); - CATCHALL(onsig); - - initscr(); + InitAndCatch(initscr(), onsig); if (has_colors()) { int bg = COLOR_BLACK; start_color(); @@ -431,7 +438,7 @@ main(int argc, char *argv[]) } napms(50); } - exit_curses(); + stop_curses(); #ifdef USE_PTHREADS printf("Counts per thread:\n"); for (j = 0; j < MAX_THREADS; ++j)