aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjluehrs2 <jluehrs2@uiuc.edu>2007-10-09 01:18:16 -0500
committerjluehrs2 <jluehrs2@uiuc.edu>2007-10-09 01:18:16 -0500
commit337f192f6a0f47702717ea8435b01304948fee7c (patch)
treed8f1bc583fdc9dfa7ad856f72027973fdab63a84
parent38d833e1ba95200f1dc7310df4a4b03e81db7cbe (diff)
downloadluasignal-337f192f6a0f47702717ea8435b01304948fee7c.tar.gz
luasignal-337f192f6a0f47702717ea8435b01304948fee7c.zip
fix my stack manipulation confusion
-rw-r--r--src/signal.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/signal.c b/src/signal.c
index fa78a3c..0291dcc 100644
--- a/src/signal.c
+++ b/src/signal.c
@@ -63,7 +63,8 @@ static int l_signal(lua_State* L)
gL = L;
- signame = luaL_checkstring(L, 1);
+ luaL_checktype(L, 1, LUA_TSTRING);
+ signame = lua_tostring(L, 1);
sig = name_to_sig(signame);
if (sig == -1) {
lua_pushfstring(L, "signal() called with invalid signal name: %s", signame);
@@ -120,7 +121,7 @@ static int l_alarm(lua_State* L)
{
int time;
- time = luaL_checkint(L, -1);
+ time = luaL_checkint(L, 1);
lua_pushinteger(L, alarm(time));
return 1;
@@ -131,8 +132,9 @@ static int l_kill(lua_State* L)
const char* signame;
int pid, sig;
- pid = luaL_checkint(L, -1);
- signame = luaL_checkstring(L, -2);
+ pid = luaL_checkint(L, 1);
+ luaL_checktype(L, 2, LUA_TSTRING);
+ signame = lua_tostring(L, 2);
if ((sig = name_to_sig(signame)) == -1) {
if (strcmp(signame, "test") == 0) {
sig = 0;
@@ -153,7 +155,8 @@ static int l_raise(lua_State* L)
const char* signame;
int sig;
- signame = luaL_checkstring(L, -1);
+ luaL_checktype(L, 1, LUA_TSTRING);
+ signame = lua_tostring(L, 1);
if ((sig = name_to_sig(signame)) == -1) {
if (strcmp(signame, "test") == 0) {
sig = 0;