aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2008-03-14 13:02:17 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2008-03-14 13:02:17 -0500
commit04b3dd790046c0876c8f90cda7645c5d6746d1a8 (patch)
treee049fe7834ebfae3874052cd968815b1864584ab
parent800cb5e5fe95ea0b9100eb98ec391b7fd7799a16 (diff)
downloadluancurses-04b3dd790046c0876c8f90cda7645c5d6746d1a8.tar.gz
luancurses-04b3dd790046c0876c8f90cda7645c5d6746d1a8.zip
catch errors returned by getch()
-rw-r--r--src/curses.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/curses.c b/src/curses.c
index 711c5ea..b254ae6 100644
--- a/src/curses.c
+++ b/src/curses.c
@@ -1,6 +1,7 @@
#include <curses.h>
#include <lua.h>
#include <lauxlib.h>
+#include <errno.h>
#include <stdlib.h>
#include <string.h>
@@ -303,7 +304,9 @@ static int l_getch(lua_State* L)
}
if (c == ERR) {
lua_pushboolean(L, 0);
- return 1;
+ lua_pushstring(L, strerror(errno));
+ fprintf(stderr, "%s\n", lua_tostring(L, -1));
+ return 2;
}
for (i = 0; i < sizeof(keys) / sizeof(keys[0]); ++i) {