diff options
author | jluehrs2 <jluehrs2@uiuc.edu> | 2007-10-09 01:18:16 -0500 |
---|---|---|
committer | jluehrs2 <jluehrs2@uiuc.edu> | 2007-10-09 01:18:16 -0500 |
commit | 337f192f6a0f47702717ea8435b01304948fee7c (patch) | |
tree | d8f1bc583fdc9dfa7ad856f72027973fdab63a84 | |
parent | 38d833e1ba95200f1dc7310df4a4b03e81db7cbe (diff) | |
download | luasignal-337f192f6a0f47702717ea8435b01304948fee7c.tar.gz luasignal-337f192f6a0f47702717ea8435b01304948fee7c.zip |
fix my stack manipulation confusion
-rw-r--r-- | src/signal.c | 13 |
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; |