From 4ab0aacae8ab09ccb69e1472857ce92bd365c62c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Mon, 23 Sep 1996 12:31:36 +0200
Subject: [PATCH] bugfix

Rev: src/mapping.c:1.3
---
 src/mapping.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/mapping.c b/src/mapping.c
index cb4db69880..0da050c3d4 100644
--- a/src/mapping.c
+++ b/src/mapping.c
@@ -398,7 +398,7 @@ void check_mapping_for_destruct(struct mapping *m)
   if(d_flag > 1) check_mapping_type_fields(m);
 #endif
 
-  if((m->ind_types | m->val_types) & BIT_OBJECT)
+  if((m->ind_types | m->val_types) & (BIT_OBJECT | BIT_FUNCTION))
   {
     val_types = ind_types = 0;
     m->val_types |= BIT_INT;
@@ -408,7 +408,8 @@ void check_mapping_for_destruct(struct mapping *m)
       {
 	check_destructed(& k->val);
 	
-	if(k->ind.type == T_OBJECT && !k->ind.u.object->prog)
+	if((k->ind.type == T_OBJECT || k->ind.type == T_FUNCTION) &&
+	   !k->ind.u.object->prog)
 	{
 	  *prev=k->next;
 	  free_svalue(& k->ind);
-- 
GitLab