+#define window_is(name) ((sp)->_##name == win)
+
+#if USE_REENTRANT
+#define remove_window(name) \
+ sp->_##name = 0
+#else
+#define remove_window(name) \
+ sp->_##name = 0; \
+ if (win == name) \
+ name = 0
+#endif
+
+static void
+remove_window_from_screen(WINDOW *win)
+{
+ SCREEN *sp;
+
+ for (each_screen(sp)) {
+ if (window_is(curscr)) {
+ remove_window(curscr);
+ break;
+ } else if (window_is(stdscr)) {
+ remove_window(stdscr);
+ break;
+ } else if (window_is(newscr)) {
+ remove_window(newscr);
+ break;
+ }
+ }
+}
+
+NCURSES_EXPORT(int)