ncurses 5.7 - patch 20091219
[ncurses.git] / ncurses / tinfo / use_screen.c
index 1037e0b466777a160d87fb3a93716b4a6085b6fd..6a0297cebd5181fa6819ea76c72b0f0b54eb3bd9 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2007 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2007-2008,2009 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            *
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: use_screen.c,v 1.2 2007/09/08 21:46:48 tom Exp $")
+MODULE_ID("$Id: use_screen.c,v 1.8 2009/10/24 22:40:20 tom Exp $")
 
 NCURSES_EXPORT(int)
-use_screen(SCREEN *screen, NCURSES_CALLBACK func, void *data)
+use_screen(SCREEN *screen, NCURSES_SCREEN_CB func, void *data)
 {
     SCREEN *save_SP;
     int code = OK;
 
-    T((T_CALLED("use_window(%p,%p,%p)"), screen, func, data));
+    T((T_CALLED("use_screen(%p,%p,%p)"), (void *) screen, func, (void *) data));
 
     /*
      * FIXME - add a flag so a given thread can check if _it_ has already
      * recurred through this point, return an error if so.
      */
-    _nc_lock_global(use_screen);
-    save_SP = SP;
+    _nc_lock_global(curses);
+    save_SP = CURRENT_SCREEN;
     set_term(screen);
 
-    code = func(screen->_stdscr, data);
+    code = func(screen, data);
 
     set_term(save_SP);
-    _nc_unlock_global(use_screen);
+    _nc_unlock_global(curses);
     returnCode(code);
-
-    return 0;
 }