about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/lcurseslib.c4
-rw-r--r--src/lua.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/src/lcurseslib.c b/src/lcurseslib.c
index 4d3284c..e866e57 100644
--- a/src/lcurseslib.c
+++ b/src/lcurseslib.c
@@ -9,7 +9,7 @@
 #include "lauxlib.h"
 #include "lualib.h"
 
-static void cleanup (void) {
+void cleanup_curses (void) {
   if (!isendwin()) {
     wclear(stdscr);
     wrefresh(stdscr);
@@ -477,7 +477,7 @@ LUALIB_API int luaopen_curses (lua_State *L) {
   lua_pushvalue(L, -2);
   register_curses_constants(L);
 
-  atexit(cleanup);
+  atexit(cleanup_curses);
   return 1;
 }
 
diff --git a/src/lua.c b/src/lua.c
index 9690184..d7939bf 100644
--- a/src/lua.c
+++ b/src/lua.c
@@ -566,6 +566,7 @@ static int pmain (lua_State *L) {
 
 
 extern void draw_menu (lua_State *);
+extern void cleanup_curses (void);
 
 
 int main (int argc, char **argv) {
@@ -589,7 +590,7 @@ int main (int argc, char **argv) {
   status = lua_cpcall(L, &pmain, &s);
   report(L, status);
   lua_close(L);
-  endwin();
+  cleanup_curses();
   return (status || s.status) ? EXIT_FAILURE : EXIT_SUCCESS;
 }