aboutsummaryrefslogtreecommitdiff
path: root/src/keeper.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/keeper.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/keeper.c b/src/keeper.c
index 9e5317b..7362ca6 100644
--- a/src/keeper.c
+++ b/src/keeper.c
@@ -756,23 +756,19 @@ void keeper_release( struct s_Keeper* K)
756void keeper_toggle_nil_sentinels( lua_State* L, int val_i_, enum eLookupMode mode_) 756void keeper_toggle_nil_sentinels( lua_State* L, int val_i_, enum eLookupMode mode_)
757{ 757{
758 int i, n = lua_gettop( L); 758 int i, n = lua_gettop( L);
759 /* We could use an empty table in 'keeper.lua' as the sentinel, but maybe
760 * checking for a lightuserdata is faster. (any unique value will do -> take the address of some global symbol of ours)
761 */
762 void* nil_sentinel = (void*) keeper_toggle_nil_sentinels;
763 for( i = val_i_; i <= n; ++ i) 759 for( i = val_i_; i <= n; ++ i)
764 { 760 {
765 if( mode_ == eLM_ToKeeper) 761 if( mode_ == eLM_ToKeeper)
766 { 762 {
767 if( lua_isnil( L, i)) 763 if( lua_isnil( L, i))
768 { 764 {
769 lua_pushlightuserdata( L, nil_sentinel); 765 lua_pushlightuserdata( L, NIL_SENTINEL);
770 lua_replace( L, i); 766 lua_replace( L, i);
771 } 767 }
772 } 768 }
773 else 769 else
774 { 770 {
775 if( lua_touserdata( L, i) == nil_sentinel) 771 if( lua_touserdata( L, i) == NIL_SENTINEL)
776 { 772 {
777 lua_pushnil( L); 773 lua_pushnil( L);
778 lua_replace( L, i); 774 lua_replace( L, i);