diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2008-03-14 13:02:17 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2008-03-14 13:02:17 -0500 |
commit | 04b3dd790046c0876c8f90cda7645c5d6746d1a8 (patch) | |
tree | e049fe7834ebfae3874052cd968815b1864584ab | |
parent | 800cb5e5fe95ea0b9100eb98ec391b7fd7799a16 (diff) | |
download | luancurses-04b3dd790046c0876c8f90cda7645c5d6746d1a8.tar.gz luancurses-04b3dd790046c0876c8f90cda7645c5d6746d1a8.zip |
catch errors returned by getch()
-rw-r--r-- | src/curses.c | 5 |
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) { |